summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'AntiSpoof')
-rw-r--r--AntiSpoof/.eslintrc.json7
-rw-r--r--AntiSpoof/.gitignore2
-rw-r--r--AntiSpoof/.phan/config.php3
-rw-r--r--AntiSpoof/.phpcs.xml3
-rw-r--r--AntiSpoof/Gruntfile.js26
-rw-r--r--AntiSpoof/composer.json19
-rw-r--r--AntiSpoof/extension.json49
-rw-r--r--AntiSpoof/gitinfo.json1
-rw-r--r--AntiSpoof/i18n/aeb-arab.json4
-rw-r--r--AntiSpoof/i18n/af.json4
-rw-r--r--AntiSpoof/i18n/api/ar.json13
-rw-r--r--AntiSpoof/i18n/api/ast.json12
-rw-r--r--AntiSpoof/i18n/api/ba.json11
-rw-r--r--AntiSpoof/i18n/api/be-tarask.json12
-rw-r--r--AntiSpoof/i18n/api/be.json11
-rw-r--r--AntiSpoof/i18n/api/bg.json13
-rw-r--r--AntiSpoof/i18n/api/da.json12
-rw-r--r--AntiSpoof/i18n/api/de.json13
-rw-r--r--AntiSpoof/i18n/api/diq.json12
-rw-r--r--AntiSpoof/i18n/api/en-gb.json11
-rw-r--r--AntiSpoof/i18n/api/en.json15
-rw-r--r--AntiSpoof/i18n/api/eo.json12
-rw-r--r--AntiSpoof/i18n/api/es.json14
-rw-r--r--AntiSpoof/i18n/api/et.json10
-rw-r--r--AntiSpoof/i18n/api/fa.json14
-rw-r--r--AntiSpoof/i18n/api/fo.json9
-rw-r--r--AntiSpoof/i18n/api/fr.json14
-rw-r--r--AntiSpoof/i18n/api/frr.json11
-rw-r--r--AntiSpoof/i18n/api/gl.json13
-rw-r--r--AntiSpoof/i18n/api/he.json12
-rw-r--r--AntiSpoof/i18n/api/hi.json13
-rw-r--r--AntiSpoof/i18n/api/hif-latn.json10
-rw-r--r--AntiSpoof/i18n/api/ia.json12
-rw-r--r--AntiSpoof/i18n/api/id.json12
-rw-r--r--AntiSpoof/i18n/api/ilo.json11
-rw-r--r--AntiSpoof/i18n/api/it.json13
-rw-r--r--AntiSpoof/i18n/api/ja.json16
-rw-r--r--AntiSpoof/i18n/api/ka.json13
-rw-r--r--AntiSpoof/i18n/api/ko.json13
-rw-r--r--AntiSpoof/i18n/api/ksh.json10
-rw-r--r--AntiSpoof/i18n/api/li.json12
-rw-r--r--AntiSpoof/i18n/api/lij.json11
-rw-r--r--AntiSpoof/i18n/api/lki.json10
-rw-r--r--AntiSpoof/i18n/api/lrc.json10
-rw-r--r--AntiSpoof/i18n/api/lt.json11
-rw-r--r--AntiSpoof/i18n/api/mk.json12
-rw-r--r--AntiSpoof/i18n/api/ml.json12
-rw-r--r--AntiSpoof/i18n/api/mni.json13
-rw-r--r--AntiSpoof/i18n/api/nap.json11
-rw-r--r--AntiSpoof/i18n/api/nb.json13
-rw-r--r--AntiSpoof/i18n/api/nl.json15
-rw-r--r--AntiSpoof/i18n/api/pl.json14
-rw-r--r--AntiSpoof/i18n/api/pms.json10
-rw-r--r--AntiSpoof/i18n/api/pt-br.json14
-rw-r--r--AntiSpoof/i18n/api/pt.json12
-rw-r--r--AntiSpoof/i18n/api/qqq.json13
-rw-r--r--AntiSpoof/i18n/api/ro.json11
-rw-r--r--AntiSpoof/i18n/api/roa-tara.json12
-rw-r--r--AntiSpoof/i18n/api/ru.json13
-rw-r--r--AntiSpoof/i18n/api/scn.json12
-rw-r--r--AntiSpoof/i18n/api/sco.json10
-rw-r--r--AntiSpoof/i18n/api/sh.json12
-rw-r--r--AntiSpoof/i18n/api/sv.json13
-rw-r--r--AntiSpoof/i18n/api/szy.json11
-rw-r--r--AntiSpoof/i18n/api/th.json12
-rw-r--r--AntiSpoof/i18n/api/tr.json13
-rw-r--r--AntiSpoof/i18n/api/uk.json13
-rw-r--r--AntiSpoof/i18n/api/vi.json11
-rw-r--r--AntiSpoof/i18n/api/yue.json14
-rw-r--r--AntiSpoof/i18n/api/zh-hans.json12
-rw-r--r--AntiSpoof/i18n/api/zh-hant.json13
-rw-r--r--AntiSpoof/i18n/ar.json13
-rw-r--r--AntiSpoof/i18n/arz.json6
-rw-r--r--AntiSpoof/i18n/ast.json8
-rw-r--r--AntiSpoof/i18n/ba.json10
-rw-r--r--AntiSpoof/i18n/bar.json4
-rw-r--r--AntiSpoof/i18n/be-tarask.json8
-rw-r--r--AntiSpoof/i18n/be.json10
-rw-r--r--AntiSpoof/i18n/bg.json11
-rw-r--r--AntiSpoof/i18n/bn.json4
-rw-r--r--AntiSpoof/i18n/bqi.json12
-rw-r--r--AntiSpoof/i18n/br.json1
-rw-r--r--AntiSpoof/i18n/bs.json2
-rw-r--r--AntiSpoof/i18n/ca.json6
-rw-r--r--AntiSpoof/i18n/co.json4
-rw-r--r--AntiSpoof/i18n/cs.json4
-rw-r--r--AntiSpoof/i18n/da.json11
-rw-r--r--AntiSpoof/i18n/de.json12
-rw-r--r--AntiSpoof/i18n/diq.json18
-rw-r--r--AntiSpoof/i18n/el.json4
-rw-r--r--AntiSpoof/i18n/en-gb.json10
-rw-r--r--AntiSpoof/i18n/en.json15
-rw-r--r--AntiSpoof/i18n/eo.json20
-rw-r--r--AntiSpoof/i18n/es.json22
-rw-r--r--AntiSpoof/i18n/et.json5
-rw-r--r--AntiSpoof/i18n/eu.json5
-rw-r--r--AntiSpoof/i18n/fa.json15
-rw-r--r--AntiSpoof/i18n/fi.json6
-rw-r--r--AntiSpoof/i18n/fo.json4
-rw-r--r--AntiSpoof/i18n/fr.json24
-rw-r--r--AntiSpoof/i18n/frc.json4
-rw-r--r--AntiSpoof/i18n/frr.json6
-rw-r--r--AntiSpoof/i18n/gl.json11
-rw-r--r--AntiSpoof/i18n/he.json14
-rw-r--r--AntiSpoof/i18n/hi.json17
-rw-r--r--AntiSpoof/i18n/hif-latn.json5
-rw-r--r--AntiSpoof/i18n/hr.json4
-rw-r--r--AntiSpoof/i18n/ht.json3
-rw-r--r--AntiSpoof/i18n/hu.json2
-rw-r--r--AntiSpoof/i18n/ia.json7
-rw-r--r--AntiSpoof/i18n/id.json13
-rw-r--r--AntiSpoof/i18n/ilo.json6
-rw-r--r--AntiSpoof/i18n/io.json1
-rw-r--r--AntiSpoof/i18n/it.json13
-rw-r--r--AntiSpoof/i18n/ja.json13
-rw-r--r--AntiSpoof/i18n/jv.json6
-rw-r--r--AntiSpoof/i18n/ka.json10
-rw-r--r--AntiSpoof/i18n/khw.json3
-rw-r--r--AntiSpoof/i18n/kk-arab.json4
-rw-r--r--AntiSpoof/i18n/kk-latn.json4
-rw-r--r--AntiSpoof/i18n/km.json1
-rw-r--r--AntiSpoof/i18n/kn.json4
-rw-r--r--AntiSpoof/i18n/ko.json15
-rw-r--r--AntiSpoof/i18n/krc.json4
-rw-r--r--AntiSpoof/i18n/ksh.json5
-rw-r--r--AntiSpoof/i18n/lb.json11
-rw-r--r--AntiSpoof/i18n/li.json7
-rw-r--r--AntiSpoof/i18n/lij.json15
-rw-r--r--AntiSpoof/i18n/lki.json5
-rw-r--r--AntiSpoof/i18n/lo.json4
-rw-r--r--AntiSpoof/i18n/lrc.json5
-rw-r--r--AntiSpoof/i18n/lt.json12
-rw-r--r--AntiSpoof/i18n/lv.json2
-rw-r--r--AntiSpoof/i18n/map-bms.json4
-rw-r--r--AntiSpoof/i18n/mk.json13
-rw-r--r--AntiSpoof/i18n/ml.json8
-rw-r--r--AntiSpoof/i18n/mni.json8
-rw-r--r--AntiSpoof/i18n/mnw.json9
-rw-r--r--AntiSpoof/i18n/ms.json11
-rw-r--r--AntiSpoof/i18n/nah.json4
-rw-r--r--AntiSpoof/i18n/nap.json6
-rw-r--r--AntiSpoof/i18n/nb.json10
-rw-r--r--AntiSpoof/i18n/ne.json9
-rw-r--r--AntiSpoof/i18n/nl.json18
-rw-r--r--AntiSpoof/i18n/olo.json4
-rw-r--r--AntiSpoof/i18n/pl.json15
-rw-r--r--AntiSpoof/i18n/pms.json5
-rw-r--r--AntiSpoof/i18n/pnb.json4
-rw-r--r--AntiSpoof/i18n/pt-br.json19
-rw-r--r--AntiSpoof/i18n/pt.json14
-rw-r--r--AntiSpoof/i18n/qqq.json8
-rw-r--r--AntiSpoof/i18n/ro.json6
-rw-r--r--AntiSpoof/i18n/roa-tara.json8
-rw-r--r--AntiSpoof/i18n/ru.json15
-rw-r--r--AntiSpoof/i18n/sat.json8
-rw-r--r--AntiSpoof/i18n/scn.json12
-rw-r--r--AntiSpoof/i18n/sco.json9
-rw-r--r--AntiSpoof/i18n/sh.json22
-rw-r--r--AntiSpoof/i18n/shn.json2
-rw-r--r--AntiSpoof/i18n/sk.json5
-rw-r--r--AntiSpoof/i18n/sl.json4
-rw-r--r--AntiSpoof/i18n/sq.json4
-rw-r--r--AntiSpoof/i18n/sr-ec.json6
-rw-r--r--AntiSpoof/i18n/sr-el.json4
-rw-r--r--AntiSpoof/i18n/sv.json11
-rw-r--r--AntiSpoof/i18n/szy.json (renamed from AntiSpoof/i18n/ais.json)10
-rw-r--r--AntiSpoof/i18n/ta.json4
-rw-r--r--AntiSpoof/i18n/te.json2
-rw-r--r--AntiSpoof/i18n/th.json24
-rw-r--r--AntiSpoof/i18n/tl.json2
-rw-r--r--AntiSpoof/i18n/tr.json25
-rw-r--r--AntiSpoof/i18n/uk.json13
-rw-r--r--AntiSpoof/i18n/ur.json4
-rw-r--r--AntiSpoof/i18n/vi.json10
-rw-r--r--AntiSpoof/i18n/war.json3
-rw-r--r--AntiSpoof/i18n/yue.json11
-rw-r--r--AntiSpoof/i18n/zh-hans.json11
-rw-r--r--AntiSpoof/i18n/zh-hant.json19
-rw-r--r--AntiSpoof/includes/AntiSpoof.php47
-rw-r--r--AntiSpoof/includes/AntiSpoofPreAuthenticationProvider.php9
-rw-r--r--AntiSpoof/includes/SpoofUser.php17
-rw-r--r--AntiSpoof/maintenance/BatchAntiSpoofClass.php10
-rw-r--r--AntiSpoof/maintenance/batchAntiSpoof.php2
-rw-r--r--AntiSpoof/package-lock.json1732
-rw-r--r--AntiSpoof/package.json7
-rw-r--r--AntiSpoof/tests/phan/config.php3
-rw-r--r--AntiSpoof/tests/phpunit/AntiSpoofPreAuthenticationProviderTest.php14
-rw-r--r--AntiSpoof/tests/phpunit/SpoofUserTest.php2
-rw-r--r--AntiSpoof/version4
189 files changed, 3006 insertions, 634 deletions
diff --git a/AntiSpoof/.eslintrc.json b/AntiSpoof/.eslintrc.json
new file mode 100644
index 00000000..1a97f6e1
--- /dev/null
+++ b/AntiSpoof/.eslintrc.json
@@ -0,0 +1,7 @@
+{
+ "root": true,
+ "extends": [
+ "wikimedia/client",
+ "wikimedia/jquery"
+ ]
+}
diff --git a/AntiSpoof/.gitignore b/AntiSpoof/.gitignore
index d241189c..98aae7b7 100644
--- a/AntiSpoof/.gitignore
+++ b/AntiSpoof/.gitignore
@@ -5,4 +5,4 @@
node_modules/
vendor/
composer.lock
-tests/phan/issues
+.eslintcache
diff --git a/AntiSpoof/.phan/config.php b/AntiSpoof/.phan/config.php
new file mode 100644
index 00000000..76efd06d
--- /dev/null
+++ b/AntiSpoof/.phan/config.php
@@ -0,0 +1,3 @@
+<?php
+
+return require __DIR__ . '/../vendor/mediawiki/mediawiki-phan-config/src/config.php';
diff --git a/AntiSpoof/.phpcs.xml b/AntiSpoof/.phpcs.xml
index 6151c07d..9053adae 100644
--- a/AntiSpoof/.phpcs.xml
+++ b/AntiSpoof/.phpcs.xml
@@ -1,10 +1,11 @@
<?xml version="1.0"?>
<ruleset>
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
+ <exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" />
<exclude name="MediaWiki.Files.ClassMatchesFilename.NotMatch" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
+ <exclude name="MediaWiki.Commenting.FunctionComment.WrongStyle" />
<exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
- <exclude name="Squiz.Scope.MethodScope.Missing" />
</rule>
<file>.</file>
<arg name="extensions" value="php,php5,inc" />
diff --git a/AntiSpoof/Gruntfile.js b/AntiSpoof/Gruntfile.js
index bc1e49a1..5ceb95be 100644
--- a/AntiSpoof/Gruntfile.js
+++ b/AntiSpoof/Gruntfile.js
@@ -4,23 +4,27 @@
* @package AntiSpoof
*/
-/*jshint node:true */
+/* eslint-env node, es6 */
module.exports = function ( grunt ) {
+ var conf = grunt.file.readJSON( 'extension.json' );
+
grunt.loadNpmTasks( 'grunt-banana-checker' );
- grunt.loadNpmTasks( 'grunt-jsonlint' );
+ grunt.loadNpmTasks( 'grunt-eslint' );
+
grunt.initConfig( {
- banana: {
- all: ['i18n/']
- },
- jsonlint: {
+ eslint: {
+ options: {
+ extensions: [ '.js', '.json' ],
+ cache: true
+ },
all: [
- '**/*.json',
- '!node_modules/**',
- '!vendor/**'
+ '**/*.js{,on}',
+ '!{vendor,node_modules}/**'
]
- }
+ },
+ banana: conf.MessagesDirs
} );
- grunt.registerTask( 'test', [ 'jsonlint', 'banana' ] );
+ grunt.registerTask( 'test', [ 'eslint', 'banana' ] );
grunt.registerTask( 'default', 'test' );
};
diff --git a/AntiSpoof/composer.json b/AntiSpoof/composer.json
index ccc5aefa..b6506e74 100644
--- a/AntiSpoof/composer.json
+++ b/AntiSpoof/composer.json
@@ -1,31 +1,28 @@
{
"name": "mediawiki/anti-spoof",
"type": "mediawiki-extension",
- "description": "The AntiSpoof extension is an extension for preventing confusable usernames from being created. It blocks the creation of accounts with mixed-script, confusing and similar usernames.",
+ "description": "The AntiSpoof extension is an extension for preventing confusable usernames from being created. It blocks the creation of accounts with mixed-script, confusing and similar usernames.",
"homepage": "https://www.mediawiki.org/wiki/Extension:AntiSpoof",
"license": "GPL-2.0-or-later",
"require": {
"wikimedia/equivset": "^1.0"
},
"require-dev": {
- "jakub-onderka/php-parallel-lint": "1.0.0",
- "jakub-onderka/php-console-highlighter": "0.3.2",
- "mediawiki/mediawiki-codesniffer": "22.0.0",
- "mediawiki/minus-x": "0.3.1",
- "mediawiki/mediawiki-phan-config": "0.3.0"
+ "mediawiki/mediawiki-codesniffer": "31.0.0",
+ "mediawiki/mediawiki-phan-config": "0.10.2",
+ "mediawiki/minus-x": "1.1.0",
+ "php-parallel-lint/php-console-highlighter": "0.5.0",
+ "php-parallel-lint/php-parallel-lint": "1.2.0"
},
"scripts": {
"fix": [
- "phpcbf",
- "minus-x fix ."
+ "minus-x fix .",
+ "phpcbf"
],
"test": [
"parallel-lint . --exclude vendor --exclude node_modules",
"phpcs -p -s",
"minus-x check ."
]
- },
- "extra": {
- "phan-taint-check-plugin": "1.5.0"
}
}
diff --git a/AntiSpoof/extension.json b/AntiSpoof/extension.json
index 665553ac..c3754893 100644
--- a/AntiSpoof/extension.json
+++ b/AntiSpoof/extension.json
@@ -6,7 +6,7 @@
"license-name": "GPL-2.0-or-later",
"type": "antispam",
"requires": {
- "MediaWiki": ">= 1.27.0"
+ "MediaWiki": ">= 1.35.0"
},
"GroupPermissions": {
"sysop": {
@@ -19,11 +19,19 @@
"AvailableRights": [
"override-antispoof"
],
+ "GrantPermissions": {
+ "createaccount": {
+ "override-antispoof": true
+ }
+ },
"APIModules": {
"antispoof": "ApiAntiSpoof"
},
"MessagesDirs": {
- "AntiSpoof": "i18n"
+ "AntiSpoof": [
+ "i18n",
+ "i18n/api"
+ ]
},
"AutoloadClasses": {
"AntiSpoof": "includes/AntiSpoof.php",
@@ -47,21 +55,28 @@
"DeleteAccount": "AntiSpoofHooks::asDeleteAccount"
},
"config": {
- "@doc": "see AntiSpoof.php",
- "AntiSpoofAccounts": true,
- "AntiSpoofBlacklist": [
- "\u0337",
- "\u0338",
- "\u2044",
- "\u2215",
- "\u23AE",
- "\u29F6",
- "\u29F8",
- "\u2AFB",
- "\u2AFD",
- "\uFF0F"
- ]
+ "AntiSpoofAccounts": {
+ "description": "Whether to stop spoofed accounts from being created. When false, only log.",
+ "value": true,
+ "public": true
+ },
+ "AntiSpoofBlacklist": {
+ "description": "List of characters prohibited from use in your wiki.",
+ "value": [
+ "\u0337",
+ "\u0338",
+ "\u2044",
+ "\u2215",
+ "\u23AE",
+ "\u29F6",
+ "\u29F8",
+ "\u2AFB",
+ "\u2AFD",
+ "\uFF0F"
+ ],
+ "public": true
+ }
},
"load_composer_autoloader": true,
- "manifest_version": 1
+ "manifest_version": 2
}
diff --git a/AntiSpoof/gitinfo.json b/AntiSpoof/gitinfo.json
deleted file mode 100644
index c9b69134..00000000
--- a/AntiSpoof/gitinfo.json
+++ /dev/null
@@ -1 +0,0 @@
-{"headSHA1": "3c938bdfbd2375c1d74224eb3f7db396602d5da2\n", "head": "3c938bdfbd2375c1d74224eb3f7db396602d5da2\n", "remoteURL": "https://gerrit.wikimedia.org/r/mediawiki/extensions/AntiSpoof", "branch": "3c938bdfbd2375c1d74224eb3f7db396602d5da2\n", "headCommitDate": "1539634541"} \ No newline at end of file
diff --git a/AntiSpoof/i18n/aeb-arab.json b/AntiSpoof/i18n/aeb-arab.json
index 36594612..dac804c1 100644
--- a/AntiSpoof/i18n/aeb-arab.json
+++ b/AntiSpoof/i18n/aeb-arab.json
@@ -1,5 +1,7 @@
{
- "@metadata": [],
+ "@metadata": {
+ "authors": []
+ },
"antispoof-desc": "يمنع إنشاء الحسابات بسكريبت مختلط، وبأسماء مشابهة ومربكة",
"antispoof-conflict-top": "الاسم \"$1\" شديد الشبه ب{{PLURAL:$2|الحساب الموجود|ال$2 حساب التالية}}:",
"antispoof-conflict-bottom": "من فضلك اختر اسما آخر.",
diff --git a/AntiSpoof/i18n/af.json b/AntiSpoof/i18n/af.json
index f39f4b71..32d03d1c 100644
--- a/AntiSpoof/i18n/af.json
+++ b/AntiSpoof/i18n/af.json
@@ -1,9 +1,9 @@
{
"@metadata": {
"authors": [
+ "Biggs ZA",
"Naudefj",
- "පසිඳු කාවින්ද",
- "Biggs ZA"
+ "පසිඳු කාවින්ද"
]
},
"antispoof-desc": "Blokke van die skepping van rekeninge met gemengde-script, verwarrend en soortgelyke gebruikersname",
diff --git a/AntiSpoof/i18n/api/ar.json b/AntiSpoof/i18n/api/ar.json
new file mode 100644
index 00000000..be5c9670
--- /dev/null
+++ b/AntiSpoof/i18n/api/ar.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Abanima",
+ "Meno25"
+ ]
+ },
+ "apihelp-antispoof-description": "تحقق من اسم المستخدم باستخدام أداة التحقق من عدم تشابه الأسماء.",
+ "apihelp-antispoof-summary": "تحقق من اسم مستخم ضد عمليات التحقق الخاصة بAntiSpoof.",
+ "apihelp-antispoof-param-username": "اسم المستخدم المطلوب التحقق منه باستخدام أداة التحقق من عدم تشابه الأسماء",
+ "apihelp-antispoof-example-1": "تحقق من اسم المستخدم \"Foo\" بأداة التحقق من عدم تشابه الأسماء.",
+ "apihelp-createaccount-param-ignoreantispoof": "تجاهل التحقق من عمليات السبوفنج (يتطلب صلاحية <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/ast.json b/AntiSpoof/i18n/api/ast.json
new file mode 100644
index 00000000..07059d32
--- /dev/null
+++ b/AntiSpoof/i18n/api/ast.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Xuacu"
+ ]
+ },
+ "apihelp-antispoof-description": "Comprobar un nome d'usuariu escontra les comprobaciones de normalización AntiSpoof.",
+ "apihelp-antispoof-summary": "Comprobar un nome d'usuariu escontra les comprobaciones de normalización AntiSpoof.",
+ "apihelp-antispoof-param-username": "El nome d'usuariu a comprobar escontra AntiSpoof.",
+ "apihelp-antispoof-example-1": "Comprobar el nome d'usuariu «Foo» escontra AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Inorar les comprobaciones d'engañu (spoof) (rique'l permisu <code>override-antispoof</code>)"
+}
diff --git a/AntiSpoof/i18n/api/ba.json b/AntiSpoof/i18n/api/ba.json
new file mode 100644
index 00000000..6275ce64
--- /dev/null
+++ b/AntiSpoof/i18n/api/ba.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Янмурза Баки"
+ ]
+ },
+ "apihelp-antispoof-description": "Чек-бокс AntiSpoof's normalisation ҡаршыһында ҡулланыусы исемен тикшерегеҙ.",
+ "apihelp-antispoof-param-username": "AntiSpoof ярҙамында тикшерә торған ҡатнашыусының исеме.",
+ "apihelp-antispoof-example-1": "AntiSpoof ярҙамында «Foo» ҡатнашыусы исемен тикшерергә",
+ "apihelp-createaccount-param-ignoreantispoof": "(Хоҡуҡ һораған <code>override-antispoof</code>) оҡшаш исемдәрҙе иҫәпкә алмаҫҡа."
+}
diff --git a/AntiSpoof/i18n/api/be-tarask.json b/AntiSpoof/i18n/api/be-tarask.json
new file mode 100644
index 00000000..2f0f3b76
--- /dev/null
+++ b/AntiSpoof/i18n/api/be-tarask.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Red Winged Duck"
+ ]
+ },
+ "apihelp-antispoof-description": "Праверка імені ўдзельніка паводле крытэраў нармалізацыі AntiSpoof.",
+ "apihelp-antispoof-summary": "Праверка імені ўдзельніка паводле крытэраў нармалізацыі AntiSpoof.",
+ "apihelp-antispoof-param-username": "Імя ўдзельніка для праверкі паводле крытэраў AntiSpoof.",
+ "apihelp-antispoof-example-1": "Праверка імя ўдзельніка «Foo» паводле крытэраў AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ігнараваць праверкі падменаў (патрабуе правоў <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/be.json b/AntiSpoof/i18n/api/be.json
new file mode 100644
index 00000000..176e8b60
--- /dev/null
+++ b/AntiSpoof/i18n/api/be.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mechanizatar"
+ ]
+ },
+ "apihelp-antispoof-description": "Праверце імя карыстальніка праз AntiSpoof.",
+ "apihelp-antispoof-param-username": "Імя карыстальніка для праверкі AntiSpoof.",
+ "apihelp-antispoof-example-1": "Праверыць імя карыстальніка \"Foo\" з дапамогай AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ігнараваць праверкі на падобныя імёны (патрабуе правоў <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/bg.json b/AntiSpoof/i18n/api/bg.json
new file mode 100644
index 00000000..32683605
--- /dev/null
+++ b/AntiSpoof/i18n/api/bg.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "StanProg",
+ "Ted Masters"
+ ]
+ },
+ "apihelp-antispoof-description": "Проверява потребителско име с проверките за нормализация на AntiSpoof.",
+ "apihelp-antispoof-summary": "Проверява потребителско име с проверките за нормализация на AntiSpoof.",
+ "apihelp-antispoof-param-username": "Потребителското име, което ще се проверява с AntiSpoof.",
+ "apihelp-antispoof-example-1": "Проверява потребителско име „Foo“ с AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Игнорира проверката за подобни имена (изисква правото <code>override-antispoof</code>)"
+}
diff --git a/AntiSpoof/i18n/api/da.json b/AntiSpoof/i18n/api/da.json
new file mode 100644
index 00000000..cb2ad9e3
--- /dev/null
+++ b/AntiSpoof/i18n/api/da.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Joedalton"
+ ]
+ },
+ "apihelp-antispoof-description": "Kontroller et brugernavn mod AntiSpoofs normaliseringskontroller.",
+ "apihelp-antispoof-summary": "Kontroller et brugernavn mod AntiSpoofs normaliseringskontroller.",
+ "apihelp-antispoof-param-username": "Brugernavnet der skal kontrolleres mod AntiSpoof.",
+ "apihelp-antispoof-example-1": "Kontroller brugernavnet »Foo« mod AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignorer misbrugskontroller (kræver rettigheden <code>override-antispoof</code>)"
+}
diff --git a/AntiSpoof/i18n/api/de.json b/AntiSpoof/i18n/api/de.json
new file mode 100644
index 00000000..bae0f00a
--- /dev/null
+++ b/AntiSpoof/i18n/api/de.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Crazy1880",
+ "Kghbln"
+ ]
+ },
+ "apihelp-antispoof-description": "Einen Benutzernamen in die Normalisierungsprüfung der Erweiterung AntiSpoof aufnehmen.",
+ "apihelp-antispoof-summary": "Einen Benutzernamen in die Normalisierungsprüfung der Erweiterung AntiSpoof aufnehmen.",
+ "apihelp-antispoof-param-username": "Der Benutzername, der mit der Erweiterung AntiSpoof geprüft werden soll.",
+ "apihelp-antispoof-example-1": "Den Benutzernamen „Foo“ mit der Erweiterung AntiSpoof überprüfen.",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignoriert die Prüfung auf Spoofing (erfordert die Berechtigung <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/diq.json b/AntiSpoof/i18n/api/diq.json
new file mode 100644
index 00000000..bec15ea7
--- /dev/null
+++ b/AntiSpoof/i18n/api/diq.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "1917 Ekim Devrimi"
+ ]
+ },
+ "apihelp-antispoof-description": "Verê kontrolê normalizasyonê AntiSpoofi yew namey karberi kontrol kerê",
+ "apihelp-antispoof-summary": "Verê kontrolê normalizasyonê AntiSpoofi yew namey karberi kontrol kerê",
+ "apihelp-antispoof-param-username": "AntiSpoofi dê reyna namey karberi kontrol kerê",
+ "apihelp-antispoof-example-1": "Verê AntiSpoofi \"Misal\" namey karberi kontrol kerê",
+ "apihelp-createaccount-param-ignoreantispoof": "Çekme xapeynayışi mehesıbne heqê (<code>override-antispoof</code> wazeno )."
+}
diff --git a/AntiSpoof/i18n/api/en-gb.json b/AntiSpoof/i18n/api/en-gb.json
new file mode 100644
index 00000000..75f41caf
--- /dev/null
+++ b/AntiSpoof/i18n/api/en-gb.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dejavu"
+ ]
+ },
+ "apihelp-antispoof-description": "Check a username against AntiSpoof's normalization checks.",
+ "apihelp-antispoof-param-username": "The username to check against AntiSpoof.",
+ "apihelp-antispoof-example-1": "Check username \"Foo\" against AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignore spoofing checks (requires the <code>override-antispoof</code> right)."
+}
diff --git a/AntiSpoof/i18n/api/en.json b/AntiSpoof/i18n/api/en.json
new file mode 100644
index 00000000..570a8690
--- /dev/null
+++ b/AntiSpoof/i18n/api/en.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Brad Jorsch",
+ "datguy",
+ "FunPika",
+ "Gergő Tisza"
+ ]
+ },
+ "apihelp-antispoof-description": "Check a username against AntiSpoof's normalisation checks.",
+ "apihelp-antispoof-summary": "Check a username against AntiSpoof's normalisation checks.",
+ "apihelp-antispoof-param-username": "The username to check against AntiSpoof.",
+ "apihelp-antispoof-example-1": "Check username \"Foo\" against AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignore spoofing checks (requires the <code>override-antispoof</code> right)."
+}
diff --git a/AntiSpoof/i18n/api/eo.json b/AntiSpoof/i18n/api/eo.json
new file mode 100644
index 00000000..8cf646e0
--- /dev/null
+++ b/AntiSpoof/i18n/api/eo.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mirin"
+ ]
+ },
+ "apihelp-antispoof-description": "Kontroli uzantnomon kontraŭ normigado de AntiSpoof.",
+ "apihelp-antispoof-summary": "Kontroli uzantnomon kontraŭ normigado de AntiSpoof.",
+ "apihelp-antispoof-param-username": "La uzantnomo kontrolota kontraŭ AntiSpoof.",
+ "apihelp-antispoof-example-1": "Kontroli la uzantnomono \"Foo\" kontraŭ AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignori kontroladon pri uzantnomo-trompado (postulas la rajton <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/es.json b/AntiSpoof/i18n/api/es.json
new file mode 100644
index 00000000..208cca85
--- /dev/null
+++ b/AntiSpoof/i18n/api/es.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Macofe",
+ "MarcoAurelio",
+ "Ryo567"
+ ]
+ },
+ "apihelp-antispoof-description": "Comprobar un nombre de usuario contra las comprobación de normalización del sistema AntiSpoof",
+ "apihelp-antispoof-summary": "Comprobar un nombre de usuario contra las verificaciones de normalización de AntiSpoof.",
+ "apihelp-antispoof-param-username": "El nombre de usuario a comprobar contra el sistema AntiSpoof.",
+ "apihelp-antispoof-example-1": "Comprobar nombre de usuario \"Foo\" contra el sistema AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignorar verificación contra la suplantación de identidad (antispoof) (necesita el permiso <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/et.json b/AntiSpoof/i18n/api/et.json
new file mode 100644
index 00000000..235ac028
--- /dev/null
+++ b/AntiSpoof/i18n/api/et.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Pikne"
+ ]
+ },
+ "apihelp-antispoof-description": "Kasutajanime kontrollimine tüssamisvastaste normaliseerimiskontrollide vastu.",
+ "apihelp-antispoof-param-username": "Kasutajanimi, mida tüssamisvastase kontrolli vastu kontrollida.",
+ "apihelp-antispoof-example-1": "Kontrolli kasutajanime \"Foo\" tüssamisvastase kontrolli vastu"
+}
diff --git a/AntiSpoof/i18n/api/fa.json b/AntiSpoof/i18n/api/fa.json
new file mode 100644
index 00000000..7697cf1e
--- /dev/null
+++ b/AntiSpoof/i18n/api/fa.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Dalba",
+ "Huji",
+ "Reza1615"
+ ]
+ },
+ "apihelp-antispoof-description": "بررسی یک نام‌ کاربری بر طبق بهنجارسازی عبارات سردرگم‌کننده",
+ "apihelp-antispoof-summary": "بررسی یک نام کاربری به وسیلهٔ آزمون‌های بهنجارسازی عبارات سردرگم‌کننده",
+ "apihelp-antispoof-param-username": "نام کاربری‌ای که با ضدجعل بررسی می‌شود.",
+ "apihelp-antispoof-example-1": "بررسی نام کاربر «Foo» با ضدجعل",
+ "apihelp-createaccount-param-ignoreantispoof": "نادیده‌گرفتن بررسی عبارات سردرگم‌کننده (نیازمند دسترسی <code>override-antispoof</code> است)"
+}
diff --git a/AntiSpoof/i18n/api/fo.json b/AntiSpoof/i18n/api/fo.json
new file mode 100644
index 00000000..f1df0664
--- /dev/null
+++ b/AntiSpoof/i18n/api/fo.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "EileenSanda"
+ ]
+ },
+ "apihelp-antispoof-param-username": "Brúkaranavnið ið skal kannast móti AntiSpoof.",
+ "apihelp-antispoof-example-1": "Kanna brúkaranavnið \"Foo\" móti AntiSpoof"
+}
diff --git a/AntiSpoof/i18n/api/fr.json b/AntiSpoof/i18n/api/fr.json
new file mode 100644
index 00000000..8c73bf7a
--- /dev/null
+++ b/AntiSpoof/i18n/api/fr.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Gomoko",
+ "Thibaut120094",
+ "Wladek92"
+ ]
+ },
+ "apihelp-antispoof-description": "Vérifier un nom d’utilisateur d’après les contrôles de normalisation AntiSpoof.",
+ "apihelp-antispoof-summary": "Contrôler un nom d’utilisateur d’après la normalisation de AntiSpoof.",
+ "apihelp-antispoof-param-username": "Le nom d’utilisateur à vérifier d’après AntiSpoof.",
+ "apihelp-antispoof-example-1": "Vérifier le nom d’utilisateur « Foo » d’après AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignorer les contrôles d’usurpation (nécessite le droit <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/frr.json b/AntiSpoof/i18n/api/frr.json
new file mode 100644
index 00000000..9a5ed758
--- /dev/null
+++ b/AntiSpoof/i18n/api/frr.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Murma174"
+ ]
+ },
+ "apihelp-antispoof-description": "En brükernööm uun det normoolisiarangs-preew faan AntiSpoof apnem.",
+ "apihelp-antispoof-param-username": "Di brükernööm, di mä AntiSpoof preewet wurd skal.",
+ "apihelp-antispoof-example-1": "Di brükernööm „Foo“ mä AntiSpoof preewe.",
+ "apihelp-createaccount-param-ignoreantispoof": "Auergongt det spoofing-preew (wan det rocht <code>override-antispoof</code> föörleit)."
+}
diff --git a/AntiSpoof/i18n/api/gl.json b/AntiSpoof/i18n/api/gl.json
new file mode 100644
index 00000000..6715fec2
--- /dev/null
+++ b/AntiSpoof/i18n/api/gl.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Banjo",
+ "Elisardojm"
+ ]
+ },
+ "apihelp-antispoof-description": "Comprobar un nome de usuario coas comprobacións de normalización de AntiSpoof",
+ "apihelp-antispoof-summary": "Comprobar un nome de usuario coas comprobacións de normalización de AntiSpoof",
+ "apihelp-antispoof-param-username": "Nome de usuario a comprobar có AntiSpoof",
+ "apihelp-antispoof-example-1": "Comprobar nome de usuario \"Foo\" có AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignorar comprobación de enganos (spoofing) (require o permiso <code>override-antispoof</code>)"
+}
diff --git a/AntiSpoof/i18n/api/he.json b/AntiSpoof/i18n/api/he.json
new file mode 100644
index 00000000..20a4e400
--- /dev/null
+++ b/AntiSpoof/i18n/api/he.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80"
+ ]
+ },
+ "apihelp-antispoof-description": "בדיקת שם משתמש אל מול בדיקות נרמול של AntiSpoof.",
+ "apihelp-antispoof-summary": "בדיקת שם משתמש אל מול בדיקות נרמול של AntiSpoof.",
+ "apihelp-antispoof-param-username": "שם משתמש לבדוק אל מול AntiSpoof.",
+ "apihelp-antispoof-example-1": "לבדוק את שם המשתמש Foo אל מול AntiSpoof.",
+ "apihelp-createaccount-param-ignoreantispoof": "להתעלם מבדיקות התחזות (נדרשת הרשאת <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/hi.json b/AntiSpoof/i18n/api/hi.json
new file mode 100644
index 00000000..e0ede081
--- /dev/null
+++ b/AntiSpoof/i18n/api/hi.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Innocentbunny",
+ "Sfic"
+ ]
+ },
+ "apihelp-antispoof-description": "एंटीस्पूफ के मानकीकरण जाँच अनुसार सदस्य नाम की जाँच करें।",
+ "apihelp-antispoof-summary": "ऍण्टीस्पूफ़ के मानकीकरण जाँच अनुसार सदस्य-नाम की जाँच करें।",
+ "apihelp-antispoof-param-username": "जाँच हेतु सदस्य नाम जिससे धोखा न हो",
+ "apihelp-antispoof-example-1": "धोखा के विरुद्ध \"फू\" सदस्य की जांच",
+ "apihelp-createaccount-param-ignoreantispoof": "धोखे की जाँच को अनदेखा करें (<code>override-antispoof</code> अधिकार अनिवार्य)"
+}
diff --git a/AntiSpoof/i18n/api/hif-latn.json b/AntiSpoof/i18n/api/hif-latn.json
new file mode 100644
index 00000000..236b6af2
--- /dev/null
+++ b/AntiSpoof/i18n/api/hif-latn.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Thakurji"
+ ]
+ },
+ "apihelp-antispoof-description": "Check a username against AntiSpoof's normalisation checks.",
+ "apihelp-antispoof-param-username": "The username to check against AntiSpoof.",
+ "apihelp-antispoof-example-1": "Check username \"Foo\" against AntiSpoof"
+}
diff --git a/AntiSpoof/i18n/api/ia.json b/AntiSpoof/i18n/api/ia.json
new file mode 100644
index 00000000..25b49cad
--- /dev/null
+++ b/AntiSpoof/i18n/api/ia.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "McDutchie"
+ ]
+ },
+ "apihelp-antispoof-description": "Includer un nomine de usator in le controlos de normalisation AntiSpoof.",
+ "apihelp-antispoof-summary": "Verificar un nomine de usator contra le normas de AntiSpoof.",
+ "apihelp-antispoof-param-username": "Le nomine de usator a verificar con AntiSpoof.",
+ "apihelp-antispoof-example-1": "Verificar le nomine de usator \"Foo\" con AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignorar le controlos de usurpation (require le derecto <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/id.json b/AntiSpoof/i18n/api/id.json
new file mode 100644
index 00000000..40a2464a
--- /dev/null
+++ b/AntiSpoof/i18n/api/id.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Rachmat04"
+ ]
+ },
+ "apihelp-antispoof-description": "Periksa nama pengguna dengan pemeriksaan normalisasi AntiPenipuan.",
+ "apihelp-antispoof-summary": "Periksa nama pengguna dengan pemeriksaan normalisasi AntiPenipuan.",
+ "apihelp-antispoof-param-username": "Nama pengguna yang akan diperiksa dengan AntiPenipuan.",
+ "apihelp-antispoof-example-1": "Periksa nama pengguna \"Foo\" dengan AntiPenipuan",
+ "apihelp-createaccount-param-ignoreantispoof": "Abaikan pemeriksaan penipuan (memerlukan hak akses <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/ilo.json b/AntiSpoof/i18n/api/ilo.json
new file mode 100644
index 00000000..5bad0a93
--- /dev/null
+++ b/AntiSpoof/i18n/api/ilo.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Lam-ang"
+ ]
+ },
+ "apihelp-antispoof-description": "Kitaen ti nagan ti agar-aramat nga isuppiat iti normalisasion a panagkita ti AntiSpoof.",
+ "apihelp-antispoof-param-username": "Ti nagan ti agar-aramat a kitaen a maisuppiat iti AntiSpoof.",
+ "apihelp-antispoof-example-1": "Kitaen ti nagan ti agar-aramat \"Foo\" a maisuppiat iti AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Di ikaskaso ti panagkita ti spoofing (nasken ti karbengan ti <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/it.json b/AntiSpoof/i18n/api/it.json
new file mode 100644
index 00000000..d7e42daa
--- /dev/null
+++ b/AntiSpoof/i18n/api/it.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Beta16",
+ "Ricordisamoa"
+ ]
+ },
+ "apihelp-antispoof-description": "Controlla un nome utente con le verifiche di normalizzazione AntiSpoof",
+ "apihelp-antispoof-summary": "Controlla un nome utente con le verifiche di normalizzazione AntiSpoof",
+ "apihelp-antispoof-param-username": "Il nome utente da verificare con AntiSpoof.",
+ "apihelp-antispoof-example-1": "Controlla il nome utente \"Foo\" con AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignora i controlli spoofing (richiede il diritto <code>override-antispoof</code>)"
+}
diff --git a/AntiSpoof/i18n/api/ja.json b/AntiSpoof/i18n/api/ja.json
new file mode 100644
index 00000000..c59012f5
--- /dev/null
+++ b/AntiSpoof/i18n/api/ja.json
@@ -0,0 +1,16 @@
+{
+ "@metadata": {
+ "authors": [
+ "2nd-player",
+ "Otokoume",
+ "Shirayuki",
+ "Takot",
+ "Yusuke1109"
+ ]
+ },
+ "apihelp-antispoof-description": "利用者名が AntiSpoof の正規化チェックに反しているかどうかチェックする。",
+ "apihelp-antispoof-summary": "利用者名が AntiSpoof の正規化チェックに反しているかどうかチェックする。",
+ "apihelp-antispoof-param-username": "AntiSpoof に対してチェックする利用者名。",
+ "apihelp-antispoof-example-1": "利用者名 \"Foo\" を AntiSpoof でチェックする",
+ "apihelp-createaccount-param-ignoreantispoof": "なりすましチェックを無視する (<code>override-antispoof</code> の権限が必要)。"
+}
diff --git a/AntiSpoof/i18n/api/ka.json b/AntiSpoof/i18n/api/ka.json
new file mode 100644
index 00000000..91964c1a
--- /dev/null
+++ b/AntiSpoof/i18n/api/ka.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "BRUTE",
+ "OpusDEI",
+ "Tokoko"
+ ]
+ },
+ "apihelp-antispoof-description": "მომხმარებლის შემოწმება AntiSpoof-ის ნორმალიზაციით.",
+ "apihelp-antispoof-param-username": "მომხმარებელი, რომელიც უნდა შემოწმდეს AntiSpoof-ზე.",
+ "apihelp-antispoof-example-1": "შეამოწმეთ მომხმარებელი \"Foo\" AntiSpoof-ზე",
+ "apihelp-createaccount-param-ignoreantispoof": "მსგავს სახელებზე შემოწმების იგნორირება (მოითხოვს უფლებებს <code>override-antispoof</code> right)."
+}
diff --git a/AntiSpoof/i18n/api/ko.json b/AntiSpoof/i18n/api/ko.json
new file mode 100644
index 00000000..29ae246d
--- /dev/null
+++ b/AntiSpoof/i18n/api/ko.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Revi",
+ "Ykhwong"
+ ]
+ },
+ "apihelp-antispoof-description": "안티스푸프의 표준화 검사를 사용하여 사용자명을 검사합니다.",
+ "apihelp-antispoof-summary": "안티스푸프의 표준화 검사를 사용하여 사용자명을 검사합니다.",
+ "apihelp-antispoof-param-username": "안티스푸프로 검색할 사용자명",
+ "apihelp-antispoof-example-1": "사용자 이름 \"길동\"을 안티스푸프로 검사",
+ "apihelp-createaccount-param-ignoreantispoof": "스푸핑 체크 무시 (<code>override-antispoof<code> 권한 필요)"
+}
diff --git a/AntiSpoof/i18n/api/ksh.json b/AntiSpoof/i18n/api/ksh.json
new file mode 100644
index 00000000..5710f312
--- /dev/null
+++ b/AntiSpoof/i18n/api/ksh.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Purodha"
+ ]
+ },
+ "apihelp-antispoof-description": "Donn de Nahme vun de Metmaacher jähje dem <i lang=\"en\" xml:lang=\"en\">AntiSpoof</i> sing Nommallisehronge prööve.",
+ "apihelp-antispoof-param-username": "Dä Nahme zom pröhve jähje dem <i lang=\"en\" xml:lang=\"en\">AntiSpoof</i> sing Nommallisehrong.",
+ "apihelp-antispoof-example-1": "Donn dä Nahme <i lang=\"en\" xml:lang=\"en\">Foo</i> jähje dem <i lang=\"en\" xml:lang=\"en\">AntiSpoof</i> sing Nommallisehronge pröhve."
+}
diff --git a/AntiSpoof/i18n/api/li.json b/AntiSpoof/i18n/api/li.json
new file mode 100644
index 00000000..36e13590
--- /dev/null
+++ b/AntiSpoof/i18n/api/li.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Ooswesthoesbes"
+ ]
+ },
+ "apihelp-antispoof-description": "Num 'ne gebroekersnaam inne normaliseringscontrole van AntiSpoof op.",
+ "apihelp-antispoof-summary": "Num 'ne gebroekersnaam inne normaliseringscontrole van AntiSpoof op.",
+ "apihelp-antispoof-param-username": "De gebroekersnaam veur op te numme mit AntiSpoof.",
+ "apihelp-antispoof-example-1": "De gebroekersnaam \"Foo\" opnumme mit AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Negeer spoofcontroles (vereisj 't rech <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/lij.json b/AntiSpoof/i18n/api/lij.json
new file mode 100644
index 00000000..9b33d94e
--- /dev/null
+++ b/AntiSpoof/i18n/api/lij.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Giromin Cangiaxo"
+ ]
+ },
+ "apihelp-antispoof-description": "Controlla un nomme utente co-e veriffiche de normalizaçion AntiSpoof.",
+ "apihelp-antispoof-param-username": "O nomme utente da veificâ co l'AntiSpoof.",
+ "apihelp-antispoof-example-1": "Controlla o nomme utente \"Foo\" con AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignora i controlli anti-spoofing (ghe vœu o drito <code>override-antispoof</code>)"
+}
diff --git a/AntiSpoof/i18n/api/lki.json b/AntiSpoof/i18n/api/lki.json
new file mode 100644
index 00000000..5b389db9
--- /dev/null
+++ b/AntiSpoof/i18n/api/lki.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hosseinblue"
+ ]
+ },
+ "apihelp-antispoof-description": "بررسی یک نام‌ کاربری بر طبق نرمال‌سازی‌های ضدجعل.",
+ "apihelp-antispoof-param-username": "نام کاربری‌ای که با ضدجعل بررسی می‌شود.",
+ "apihelp-antispoof-example-1": "بررسی نام کاربر «Foo» با ضدجعل"
+}
diff --git a/AntiSpoof/i18n/api/lrc.json b/AntiSpoof/i18n/api/lrc.json
new file mode 100644
index 00000000..043f772f
--- /dev/null
+++ b/AntiSpoof/i18n/api/lrc.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mogoeilor"
+ ]
+ },
+ "apihelp-antispoof-description": "وارسی یه گل نوم کاریاری سی وارسی نرمال بیین نها ضد اسپوف.",
+ "apihelp-antispoof-param-username": "وارسی نوم کاریاری سی جستن ضداسپوف.",
+ "apihelp-antispoof-example-1": "نوم کاریاری \"فو\" نه سی ضد اسپوف وارسی بکیت"
+}
diff --git a/AntiSpoof/i18n/api/lt.json b/AntiSpoof/i18n/api/lt.json
new file mode 100644
index 00000000..a7c81565
--- /dev/null
+++ b/AntiSpoof/i18n/api/lt.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Albertas"
+ ]
+ },
+ "apihelp-antispoof-description": "Patikrinti, ar naudotojo vardas atitinka AntiSpoof's normalizavimo patikras.",
+ "apihelp-antispoof-param-username": "Naudotojo vardas, kuriam atlikti AntiSpoof patikrą.",
+ "apihelp-antispoof-example-1": "Patikrinti naudotojo vardą \"Foo\" su AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignoruoti pokštavimo patikras (reikalingos <code>override-antispoof</code> teisės)."
+}
diff --git a/AntiSpoof/i18n/api/mk.json b/AntiSpoof/i18n/api/mk.json
new file mode 100644
index 00000000..2d69595a
--- /dev/null
+++ b/AntiSpoof/i18n/api/mk.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bjankuloski06"
+ ]
+ },
+ "apihelp-antispoof-description": "Проверете корисничко име со нормализациската проверка на AntiSpoof.",
+ "apihelp-antispoof-summary": "Проверете го корисничко име со нормализациската проверка на AntiSpoof.",
+ "apihelp-antispoof-param-username": "Корисничко име за проверка со AntiSpoof.",
+ "apihelp-antispoof-example-1": "Провери го корисничкото име „Foo“ со AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Занемари ги проверките за забуна на имињата (го бара правото <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/ml.json b/AntiSpoof/i18n/api/ml.json
new file mode 100644
index 00000000..ed41a40c
--- /dev/null
+++ b/AntiSpoof/i18n/api/ml.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Praveenp"
+ ]
+ },
+ "apihelp-antispoof-description": "കബളിപ്പിക്കൽ തടയൽ നോർമലൈസേഷൻ പരിശോധനകൾക്കൊപ്പം ഉപയോക്തൃനാമം പരിശോധിക്കുക.",
+ "apihelp-antispoof-summary": "കബളിപ്പിക്കൽ തടയൽ നോർമലൈസേഷൻ പരിശോധനകൾക്കൊപ്പം ഉപയോക്തൃനാമം പരിശോധിക്കുക.",
+ "apihelp-antispoof-param-username": "കബളിപ്പിക്കൽ തടയൽ പരിശോധനയിൽ ഉപയോഗിക്കേണ്ട ഉപയോക്തൃനാമം.",
+ "apihelp-antispoof-example-1": "കബളിപ്പിക്കൽ തടയൽ പരിശോധനയിൽ \"Foo\" എന്ന ഉപയോക്തൃനാമം പരിശോധിക്കുക",
+ "apihelp-createaccount-param-ignoreantispoof": "ആൾമാറാട്ട പരിശോധനകൾ അവഗണിക്കുക (<code>override-antispoof</code> അവകാശം വേണം)."
+}
diff --git a/AntiSpoof/i18n/api/mni.json b/AntiSpoof/i18n/api/mni.json
new file mode 100644
index 00000000..98b2f3e1
--- /dev/null
+++ b/AntiSpoof/i18n/api/mni.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Amire80",
+ "Awangba Mangang"
+ ]
+ },
+ "apihelp-antispoof-description": "Check a username against AntiSpoof's normalisation checks.",
+ "apihelp-antispoof-summary": "Check a username against AntiSpoof's normalisation checks.",
+ "apihelp-antispoof-param-username": "The username to check against AntiSpoof.",
+ "apihelp-antispoof-example-1": "Check username \"Foo\" against AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignore spoofing checks (requires the <code>override-antispoof</code> right)."
+}
diff --git a/AntiSpoof/i18n/api/nap.json b/AntiSpoof/i18n/api/nap.json
new file mode 100644
index 00000000..e489a154
--- /dev/null
+++ b/AntiSpoof/i18n/api/nap.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "C.R."
+ ]
+ },
+ "apihelp-antispoof-description": "Cuntrolla nu nomme utente a cunfronto ch' 'e cuntrolle 'e normalizzaziona 'AntiSpoof.",
+ "apihelp-antispoof-param-username": "Nomme utente ca s'avesse 'e cuntrullà d'AntiSpoof.",
+ "apihelp-antispoof-example-1": "Cuntrolla nomme utente \"Foo\" d'AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Lasse perdere le verifiche de spoofing (vole 'u deritte <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/nb.json b/AntiSpoof/i18n/api/nb.json
new file mode 100644
index 00000000..ff3d4a7c
--- /dev/null
+++ b/AntiSpoof/i18n/api/nb.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Chameleon222",
+ "Jon Harald Søby"
+ ]
+ },
+ "apihelp-antispoof-description": "Sjekker et brukernavn mot AntiSpoofs normaliseringskontroller.",
+ "apihelp-antispoof-summary": "Sjekk et brukernavn mot AntiSpoofs normaliseringssjekker.",
+ "apihelp-antispoof-param-username": "Brukernavnet som skal sjekkes mot AntiSpoof.",
+ "apihelp-antispoof-example-1": "Sjekk brukernavn «Foo» mot AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignorer misbrukskontroller (krever rettigheten <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/nl.json b/AntiSpoof/i18n/api/nl.json
new file mode 100644
index 00000000..aa7442f5
--- /dev/null
+++ b/AntiSpoof/i18n/api/nl.json
@@ -0,0 +1,15 @@
+{
+ "@metadata": {
+ "authors": [
+ "Mainframe98",
+ "Mar(c)",
+ "McDutchie",
+ "Siebrand"
+ ]
+ },
+ "apihelp-antispoof-description": "Een gebruikersnaam controleren met de normaliseringscontrole van AntiSpoof.",
+ "apihelp-antispoof-summary": "Een gebruikersnaam in de normaliseringscontrole van AntiSpoof opnemen.",
+ "apihelp-antispoof-param-username": "De gebruikersnaam om met AntiSpoof te controleren.",
+ "apihelp-antispoof-example-1": "De gebruikersnaam \"Foo\" controleren met AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Spoofcontroles negeren (vereist het recht <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/pl.json b/AntiSpoof/i18n/api/pl.json
new file mode 100644
index 00000000..b5d07eb8
--- /dev/null
+++ b/AntiSpoof/i18n/api/pl.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "Rail",
+ "Railfail536",
+ "Woytecr"
+ ]
+ },
+ "apihelp-antispoof-description": "Sprawdź nazwę użytkownika według kryteriów AntiSpoof.",
+ "apihelp-antispoof-summary": "Sprawdź nazwę użytkownika według kryteriów AntiSpoof.",
+ "apihelp-antispoof-param-username": "Nazwa użytkownika, którą sprawdzić za pomocą AntiSpoof.",
+ "apihelp-antispoof-example-1": "Sprawdź nazwę użytkownika \"Foo\" za pomocą AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignoruj sprawdzenie podobieństwa nazwy (wymaga uprawnienia <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/pms.json b/AntiSpoof/i18n/api/pms.json
new file mode 100644
index 00000000..a4550edd
--- /dev/null
+++ b/AntiSpoof/i18n/api/pms.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "Borichèt"
+ ]
+ },
+ "apihelp-antispoof-description": "Verifiché në stranòm contra le verìfiche ëd normalisassion d'AntiSpoof.",
+ "apihelp-antispoof-param-username": "Lë stranòm da verifiché contra AntiSpoof.",
+ "apihelp-antispoof-example-1": "Verifiché lë stranòm «Foo» contra AntiSpoof"
+}
diff --git a/AntiSpoof/i18n/api/pt-br.json b/AntiSpoof/i18n/api/pt-br.json
new file mode 100644
index 00000000..326ca1fe
--- /dev/null
+++ b/AntiSpoof/i18n/api/pt-br.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "!Silent",
+ "Dianakc",
+ "Felipe L. Ewald"
+ ]
+ },
+ "apihelp-antispoof-description": "Verifica um nome de usuário contra verificações de normalização do AntiSpoof.",
+ "apihelp-antispoof-summary": "Verifica um nome de usuário contra verificações de normalização do AntiSpoof.",
+ "apihelp-antispoof-param-username": "O nome de usuário para verificar no AntiSpoof.",
+ "apihelp-antispoof-example-1": "Verifica o nome de usuário \"Foo\" através do AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignorar as verificações de semelhança de nome (necessita do privilégio <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/pt.json b/AntiSpoof/i18n/api/pt.json
new file mode 100644
index 00000000..c42708b6
--- /dev/null
+++ b/AntiSpoof/i18n/api/pt.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Hamilton Abreu"
+ ]
+ },
+ "apihelp-antispoof-description": "Verificar um nome de utilizador contra as verificações de normalização do AntiSpoof.",
+ "apihelp-antispoof-summary": "Verificar um nome de utilizador contra as verificações de normalização do AntiSpoof.",
+ "apihelp-antispoof-param-username": "O nome de utilizador para verificação de semelhança de nome (AntiSpoof).",
+ "apihelp-antispoof-example-1": "Verificar a semelhança de nome (AntiSpoof) do utilizador \"Foo\"",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignorar as verificações de semelhança de nomes (necessita do privilégio <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/qqq.json b/AntiSpoof/i18n/api/qqq.json
new file mode 100644
index 00000000..13c28172
--- /dev/null
+++ b/AntiSpoof/i18n/api/qqq.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Brad Jorsch",
+ "FunPika"
+ ]
+ },
+ "apihelp-antispoof-description": "{{doc-apihelp-description|antispoof}}",
+ "apihelp-antispoof-summary": "{{doc-apihelp-summary|antispoof}}",
+ "apihelp-antispoof-param-username": "{{doc-apihelp-param|antispoof|username}}",
+ "apihelp-antispoof-example-1": "{{doc-apihelp-example|antispoof}}",
+ "apihelp-createaccount-param-ignoreantispoof": "{{doc-apihelp-param|createaccount|ignoreantispoof}}"
+}
diff --git a/AntiSpoof/i18n/api/ro.json b/AntiSpoof/i18n/api/ro.json
new file mode 100644
index 00000000..0613a665
--- /dev/null
+++ b/AntiSpoof/i18n/api/ro.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Strainu"
+ ]
+ },
+ "apihelp-antispoof-description": "Verificați un nume de utilizator cu verificările de normalizare ale AntiSpoof.",
+ "apihelp-antispoof-summary": "Verificați un nume de utilizator cu verificările de normalizare ale AntiSpoof.",
+ "apihelp-antispoof-param-username": "Numele de utilizator de verificat cu AntiSpoof.",
+ "apihelp-antispoof-example-1": "Verifică numele de utilizator \"Foo\" cu AntiSpoof"
+}
diff --git a/AntiSpoof/i18n/api/roa-tara.json b/AntiSpoof/i18n/api/roa-tara.json
new file mode 100644
index 00000000..39e0963f
--- /dev/null
+++ b/AntiSpoof/i18n/api/roa-tara.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Joetaras"
+ ]
+ },
+ "apihelp-antispoof-description": "Verifiche 'nu nome utende condre a le verifiche de normalizzazzione AntiSpoof.",
+ "apihelp-antispoof-summary": "Verifiche 'nu nome utende cu le verifiche de normalizzazzione AntiSpoof.",
+ "apihelp-antispoof-param-username": "'U nome utende da verificà condre a AntiSpoof.",
+ "apihelp-antispoof-example-1": "Verifiche 'u nome utende \"Foo\" condre a AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Lasse perdere le verifiche de spoofing (vole 'u deritte <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/ru.json b/AntiSpoof/i18n/api/ru.json
new file mode 100644
index 00000000..4dbe9cea
--- /dev/null
+++ b/AntiSpoof/i18n/api/ru.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Facenapalm",
+ "Okras"
+ ]
+ },
+ "apihelp-antispoof-description": "Проверка имени с помощью AntiSpoof.",
+ "apihelp-antispoof-summary": "Проверка имени с помощью AntiSpoof.",
+ "apihelp-antispoof-param-username": "Имя проверяемого с помощью AntiSpoof участника.",
+ "apihelp-antispoof-example-1": "Проверить с помощью AntiSpoof имя участника «Foo»",
+ "apihelp-createaccount-param-ignoreantispoof": "Игнорировать проверки на схожие имена (требует права <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/scn.json b/AntiSpoof/i18n/api/scn.json
new file mode 100644
index 00000000..e6a1acaf
--- /dev/null
+++ b/AntiSpoof/i18n/api/scn.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Pippinu",
+ "Sarvaturi"
+ ]
+ },
+ "apihelp-antispoof-description": "Suttaponi un nomu utenti ê virìfichi di nurmalizzazzioni di l'AntiSpoof",
+ "apihelp-antispoof-param-username": "Lu nomu utenti di cuntrullari cu l'AntiSpoof",
+ "apihelp-antispoof-example-1": "Cuntrullari lu nomu utenti \"Cicciu\" cu l'AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Sautari li cuntrolli AntiSpoof (havi bisognu dû drittu <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/sco.json b/AntiSpoof/i18n/api/sco.json
new file mode 100644
index 00000000..c8be6413
--- /dev/null
+++ b/AntiSpoof/i18n/api/sco.json
@@ -0,0 +1,10 @@
+{
+ "@metadata": {
+ "authors": [
+ "John Reid"
+ ]
+ },
+ "apihelp-antispoof-description": "Check ae uisername again AntiSpoof's normalisation checks.",
+ "apihelp-antispoof-param-username": "The uisername tae check again AntiSpoof.",
+ "apihelp-antispoof-example-1": "Check uisername \"Foo\" again AntiSpoof"
+}
diff --git a/AntiSpoof/i18n/api/sh.json b/AntiSpoof/i18n/api/sh.json
new file mode 100644
index 00000000..b77fdf01
--- /dev/null
+++ b/AntiSpoof/i18n/api/sh.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Vlad5250"
+ ]
+ },
+ "apihelp-antispoof-description": "Provjerite korisničko ime uz provjeru normalizacije AntiSpoof.",
+ "apihelp-antispoof-summary": "Provjerite ga korisničko ime uz provjeru normalizacije AntiSpoof.",
+ "apihelp-antispoof-param-username": "Korisničko ime za provjeru AntiSpoof-om.",
+ "apihelp-antispoof-example-1": "Provjeri korisničko ime \"Foo\" pomoću AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Zanemari provjeru konfuzije naziva (zahtijeva <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/sv.json b/AntiSpoof/i18n/api/sv.json
new file mode 100644
index 00000000..5a099123
--- /dev/null
+++ b/AntiSpoof/i18n/api/sv.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Lokal Profil",
+ "WikiPhoenix"
+ ]
+ },
+ "apihelp-antispoof-description": "Kontrollera ett användarnamn mot AntiSpoofs normaliseringskontroller.",
+ "apihelp-antispoof-summary": "Kontrollera ett användarnamn mot AntiSpoofs normaliseringskontroller.",
+ "apihelp-antispoof-param-username": "Det användarnamn som ska kontrolleras mot AntiSpoof.",
+ "apihelp-antispoof-example-1": "Kontrollera användarnamn \"Foo\" mot AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ignorera missbrukskontroller (kräver <code>override-antispoof</code>-rättigheten)."
+}
diff --git a/AntiSpoof/i18n/api/szy.json b/AntiSpoof/i18n/api/szy.json
new file mode 100644
index 00000000..2c1c463c
--- /dev/null
+++ b/AntiSpoof/i18n/api/szy.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Bunukwiki"
+ ]
+ },
+ "apihelp-antispoof-description": "kinsa misaungayay a kalungangan patedu AntiSpoof a laliday a kinsa.",
+ "apihelp-antispoof-param-username": "kinsa misaungayay a kalungangan hakay patedu AntiSpoof haw?",
+ "apihelp-antispoof-example-1": "kinsa misaungayay a kalungangan \"Foo\" patedu AntiSpoof haw?",
+ "apihelp-createaccount-param-ignoreantispoof": "sekipo pahengaday midebung kinsa (maydih <code>override-antispoof</code> tungus)."
+}
diff --git a/AntiSpoof/i18n/api/th.json b/AntiSpoof/i18n/api/th.json
new file mode 100644
index 00000000..1d0509ea
--- /dev/null
+++ b/AntiSpoof/i18n/api/th.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aefgh39622"
+ ]
+ },
+ "apihelp-antispoof-description": "ตรวจสอบการทำชื่อผู้ใช้ให้เป็นปกติกับ AntiSpoof",
+ "apihelp-antispoof-summary": "ตรวจสอบการทำชื่อผู้ใช้ให้เป็นปกติกับ AntiSpoof",
+ "apihelp-antispoof-param-username": "ชื่อผู้ใช้ที่ต้องการตรวจสอบกับ AntiSpoof",
+ "apihelp-antispoof-example-1": "ตรวจสอบชื่อผู้ใช้ \"Foo\" กับ AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "ละเว้นการตรวจสอบการปลอมแปลง (ต้องการสิทธิ <code>override-antispoof</code>)"
+}
diff --git a/AntiSpoof/i18n/api/tr.json b/AntiSpoof/i18n/api/tr.json
new file mode 100644
index 00000000..27ee4d75
--- /dev/null
+++ b/AntiSpoof/i18n/api/tr.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Arystanbek",
+ "BaRaN6161 TURK"
+ ]
+ },
+ "apihelp-antispoof-description": "AntiSpoof'un normalizasyon kontrollerine karşı bir kullanıcı adı kontrol edin.",
+ "apihelp-antispoof-summary": "AntiSpoof'un normalizasyon kontrollerine karşı bir kullanıcı adı kontrol edin.",
+ "apihelp-antispoof-param-username": "Kullanıcı adı AntiSpoof karşı kontrol edin.",
+ "apihelp-antispoof-example-1": "AntiSpoof'a karşı \"Örnek\" kullanıcı adını kontrol edin",
+ "apihelp-createaccount-param-ignoreantispoof": "Sahtekarlık çeklerini yoksay (<code>override-antispoof</code> hakkı gerektirir)."
+}
diff --git a/AntiSpoof/i18n/api/uk.json b/AntiSpoof/i18n/api/uk.json
new file mode 100644
index 00000000..a9a645fa
--- /dev/null
+++ b/AntiSpoof/i18n/api/uk.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Piramidion",
+ "Ата"
+ ]
+ },
+ "apihelp-antispoof-description": "Перевірите ім'я користувача через перевірку нормалізації AntiSpoof.",
+ "apihelp-antispoof-summary": "Перевірите ім'я користувача через перевірку нормалізації AntiSpoof.",
+ "apihelp-antispoof-param-username": "Ім'я користувача для перевірки через AntiSpoof.",
+ "apihelp-antispoof-example-1": "Перевірити ім'я користувача «Foo» через AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Ігнорувати перевірки підмін (вимагає права <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/vi.json b/AntiSpoof/i18n/api/vi.json
new file mode 100644
index 00000000..1e5a275d
--- /dev/null
+++ b/AntiSpoof/i18n/api/vi.json
@@ -0,0 +1,11 @@
+{
+ "@metadata": {
+ "authors": [
+ "Minh Nguyen"
+ ]
+ },
+ "apihelp-antispoof-description": "Kiểm tra tên người dùng qua quá trình chuẩn hóa của AntiSpoof.",
+ "apihelp-antispoof-param-username": "Tên người dùng để kiểm tra qua AntiSpoof.",
+ "apihelp-antispoof-example-1": "Kiểm tra tên người dùng “Foo” qua AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "Bỏ qua các kiểm tra lừa gạt (cần quyền <code>override-antispoof</code>)."
+}
diff --git a/AntiSpoof/i18n/api/yue.json b/AntiSpoof/i18n/api/yue.json
new file mode 100644
index 00000000..40e9d805
--- /dev/null
+++ b/AntiSpoof/i18n/api/yue.json
@@ -0,0 +1,14 @@
+{
+ "@metadata": {
+ "authors": [
+ "CRCHF",
+ "Hello903hello",
+ "Yueman"
+ ]
+ },
+ "apihelp-antispoof-description": "正常檢查一個戶口係咪有網絡釣魚嘅嘢。",
+ "apihelp-antispoof-summary": "檢查個用戶名有無違反AntiSpoof嘅標準化檢查。",
+ "apihelp-antispoof-param-username": "要檢查有無違反AntiSpoof嘅用戶名。",
+ "apihelp-antispoof-example-1": "查到“Foo”呢個戶口有網絡釣魚嘅嘢",
+ "apihelp-createaccount-param-ignoreantispoof": "略過欺詐檢查(需要 <code>override-antispoof</code> 權限)。"
+}
diff --git a/AntiSpoof/i18n/api/zh-hans.json b/AntiSpoof/i18n/api/zh-hans.json
new file mode 100644
index 00000000..5b6bfafd
--- /dev/null
+++ b/AntiSpoof/i18n/api/zh-hans.json
@@ -0,0 +1,12 @@
+{
+ "@metadata": {
+ "authors": [
+ "Liuxinyu970226"
+ ]
+ },
+ "apihelp-antispoof-description": "检查用户名是否触犯AntiSpoof的常规检查。",
+ "apihelp-antispoof-summary": "检查用户名是否触犯AntiSpoof的常规检查。",
+ "apihelp-antispoof-param-username": "要检查是否触犯AntiSpoof的用户名。",
+ "apihelp-antispoof-example-1": "检查用户名“Foo”是否触犯AntiSpoof",
+ "apihelp-createaccount-param-ignoreantispoof": "忽略欺骗检查(需要<code>override-antispoof</code>权限)。"
+}
diff --git a/AntiSpoof/i18n/api/zh-hant.json b/AntiSpoof/i18n/api/zh-hant.json
new file mode 100644
index 00000000..cd529afc
--- /dev/null
+++ b/AntiSpoof/i18n/api/zh-hant.json
@@ -0,0 +1,13 @@
+{
+ "@metadata": {
+ "authors": [
+ "Cwlin0416",
+ "Kly"
+ ]
+ },
+ "apihelp-antispoof-description": "檢查使用者名稱是否違反 AntiSpoof 的常態檢查。",
+ "apihelp-antispoof-summary": "檢查使用者名稱是否違反 AntiSpoof 的常態檢查。",
+ "apihelp-antispoof-param-username": "檢查使用者名稱是否違反 AntiSpoof。",
+ "apihelp-antispoof-example-1": "檢查使用者名稱 \"Foo\" 是否違反 AntiSpoof。",
+ "apihelp-createaccount-param-ignoreantispoof": "忽略詐欺攻擊檢查 (需要 <code>override-antispoof</code> 權限)。"
+}
diff --git a/AntiSpoof/i18n/ar.json b/AntiSpoof/i18n/ar.json
index 8357c942..9e673e3e 100644
--- a/AntiSpoof/i18n/ar.json
+++ b/AntiSpoof/i18n/ar.json
@@ -7,8 +7,9 @@
"Meno25",
"Mido",
"Mimouni",
- "محمد الجداوي",
- "Moud hosny"
+ "Moud hosny",
+ "ديفيد",
+ "محمد الجداوي"
]
},
"antispoof-desc": "يمنع إنشاء الحسابات بسكريبت مختلط، وبأسماء مشابهة ومربكة",
@@ -26,10 +27,6 @@
"antispoof-tooshort": "الاسم المستخدم قصير جدًا",
"antispoof-ignore": "تجاهل التحقق من التشابه",
"antispoof-ignore-help": "يسمح للمستخدمين بحقوق كافية لإنشاء حساب مستخدم، حتى إذا كان الاسم مشابه لاسم حساب مستخدم موجود.",
- "right-override-antispoof": "تجاوز التحقق من سبوفينج",
- "apihelp-antispoof-description": "تحقق من اسم المستخدم باستخدام أداة التحقق من عدم تشابه الأسماء.",
- "apihelp-antispoof-summary": "تحقق من اسم مستخم ضد عمليات التحقق الخاصة بAntiSpoof.",
- "apihelp-antispoof-param-username": "اسم المستخدم المطلوب التحقق منه باستخدام أداة التحقق من عدم تشابه الأسماء",
- "apihelp-antispoof-example-1": "تحقق من اسم المستخدم \"Foo\" بأداة التحقق من عدم تشابه الأسماء.",
- "apihelp-createaccount-param-ignoreantispoof": "تجاهل التحقق من عمليات السبوفنج (يتطلب صلاحية <code>override-antispoof</code>)."
+ "action-override-antispoof": "تجاوز التحقق من سبوفينج",
+ "right-override-antispoof": "تجاوز التحقق من سبوفينج"
}
diff --git a/AntiSpoof/i18n/arz.json b/AntiSpoof/i18n/arz.json
index 3573cea9..b6ceaba1 100644
--- a/AntiSpoof/i18n/arz.json
+++ b/AntiSpoof/i18n/arz.json
@@ -12,9 +12,9 @@
"antispoof-name-illegal": "الاسم \"$1\" مش مسموح علشان نمنع اللخبطة أوانتحال أسماء اليوزرز: $2. لو سمحت تختار اسم تانى.",
"antispoof-badtype": "نوع البيانات غلط",
"antispoof-empty": "سلسلة فاضية",
- "antispoof-blacklisted": "بيحتوى على علامة من البلاك ليست",
- "antispoof-combining": "بيبتدى بعلامة مختلطة",
- "antispoof-unassigned": "بيحتوى على علامة مش مخصصة أو مش مقبولة",
+ "antispoof-blacklisted": "بيحتوى على علامة من البلاك ليست $1",
+ "antispoof-combining": "بيبتدى بعلامة مختلطه $1",
+ "antispoof-unassigned": "بيحتوى على علامة مش مخصصة أو مش مقبولة $1",
"antispoof-noletters": "ما بيحتويش على اى حروف",
"antispoof-mixedscripts": "بيحتوى على سكريبتات مخلوطة مش متوافقة",
"antispoof-tooshort": "الاسم المستعمل قصير خالص",
diff --git a/AntiSpoof/i18n/ast.json b/AntiSpoof/i18n/ast.json
index 16c39b04..a628efff 100644
--- a/AntiSpoof/i18n/ast.json
+++ b/AntiSpoof/i18n/ast.json
@@ -20,10 +20,6 @@
"antispoof-tooshort": "Nome normalizáu demasiao curtiu",
"antispoof-ignore": "Inorar les comprobaciones d'engañu (spoofing)",
"antispoof-ignore-help": "Permite que los usuarios con permisu bastante creen una cuenta anque'l so nome seya asemeyáu al d'una cuenta que yá existe.",
- "right-override-antispoof": "Saltase les comprobaciones d'engañu (spoofing)",
- "apihelp-antispoof-description": "Comprobar un nome d'usuariu escontra les comprobaciones de normalización AntiSpoof.",
- "apihelp-antispoof-summary": "Comprobar un nome d'usuariu escontra les comprobaciones de normalización AntiSpoof.",
- "apihelp-antispoof-param-username": "El nome d'usuariu a comprobar escontra AntiSpoof.",
- "apihelp-antispoof-example-1": "Comprobar el nome d'usuariu «Foo» escontra AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Inorar les comprobaciones d'engañu (spoof) (rique'l permisu <code>override-antispoof</code>)"
+ "action-override-antispoof": "saltar les comprobaciones d'engañu (spoofing)",
+ "right-override-antispoof": "Saltase les comprobaciones d'engañu (spoofing)"
}
diff --git a/AntiSpoof/i18n/ba.json b/AntiSpoof/i18n/ba.json
index 8bb925cf..e107880e 100644
--- a/AntiSpoof/i18n/ba.json
+++ b/AntiSpoof/i18n/ba.json
@@ -5,8 +5,8 @@
"Assele",
"Haqmar",
"Вильданова Гюзель",
- "Янмурза Баки",
- "Ләйсән"
+ "Ләйсән",
+ "Янмурза Баки"
]
},
"antispoof-desc": "Төрлө яҙма системаларының хәрефтәренән торған, яңылыштырырлыҡ һәм башҡа ҡатнашыусы исемдәренән оҡшаш исемле иҫәп яҙмаларҙы булдырыуҙы тыя.",
@@ -23,9 +23,5 @@
"antispoof-mixedscripts": "Берләштереү мөмкин булмаған яҙма системаларының хәрефтәре бар",
"antispoof-tooshort": "Стандартлаштырылған исем бигерәк ҡыҫҡа",
"antispoof-ignore": "Оҡшаш исемдәргә тикшереүҙе иғтибарға алмаҫҡа",
- "right-override-antispoof": "Оҡшаш исемдәргә тикшереүҙе иғтибарһыҙ ҡалдырыу",
- "apihelp-antispoof-description": "Чек-бокс AntiSpoof's normalisation ҡаршыһында ҡулланыусы исемен тикшерегеҙ.",
- "apihelp-antispoof-param-username": "AntiSpoof ярҙамында тикшерә торған ҡатнашыусының исеме.",
- "apihelp-antispoof-example-1": "AntiSpoof ярҙамында «Foo» ҡатнашыусы исемен тикшерергә",
- "apihelp-createaccount-param-ignoreantispoof": "(Хоҡуҡ һораған <code>override-antispoof</code>) оҡшаш исемдәрҙе иҫәпкә алмаҫҡа."
+ "right-override-antispoof": "Оҡшаш исемдәргә тикшереүҙе иғтибарһыҙ ҡалдырыу"
}
diff --git a/AntiSpoof/i18n/bar.json b/AntiSpoof/i18n/bar.json
index d6aa3f87..f79823e3 100644
--- a/AntiSpoof/i18n/bar.json
+++ b/AntiSpoof/i18n/bar.json
@@ -1,8 +1,8 @@
{
"@metadata": {
"authors": [
- "Mucalexx",
- "Joe Watzmo"
+ "Joe Watzmo",
+ "Mucalexx"
]
},
"antispoof-desc": "Vahindert d' Erstöung voh Benutzerkontos mid gmischte Zeichenseetz, vawirrende und änliche Benutzernåmen",
diff --git a/AntiSpoof/i18n/be-tarask.json b/AntiSpoof/i18n/be-tarask.json
index 56d93430..12f64cf6 100644
--- a/AntiSpoof/i18n/be-tarask.json
+++ b/AntiSpoof/i18n/be-tarask.json
@@ -22,10 +22,6 @@
"antispoof-tooshort": "Нармалізаванае імя занадта кароткае",
"antispoof-ignore": "Ігнараваць праверкі на падобнасьць імёнаў",
"antispoof-ignore-help": "Дазваляе ўдзельнікам з дастатковымі правамі ствараць рахунак нават калі яго імя падобна на імя існага рахунку.",
- "right-override-antispoof": "ігнараваньне праверак на падобныя назвы рахункаў",
- "apihelp-antispoof-description": "Праверка імені ўдзельніка паводле крытэраў нармалізацыі AntiSpoof.",
- "apihelp-antispoof-summary": "Праверка імені ўдзельніка паводле крытэраў нармалізацыі AntiSpoof.",
- "apihelp-antispoof-param-username": "Імя ўдзельніка для праверкі паводле крытэраў AntiSpoof.",
- "apihelp-antispoof-example-1": "Праверка імя ўдзельніка «Foo» паводле крытэраў AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ігнараваць праверкі падменаў (патрабуе правоў <code>override-antispoof</code>)."
+ "action-override-antispoof": "перазапіс праверак на падобныя назвы рахункаў",
+ "right-override-antispoof": "ігнараваньне праверак на падобныя назвы рахункаў"
}
diff --git a/AntiSpoof/i18n/be.json b/AntiSpoof/i18n/be.json
index 24a403c2..f14188fb 100644
--- a/AntiSpoof/i18n/be.json
+++ b/AntiSpoof/i18n/be.json
@@ -1,9 +1,9 @@
{
"@metadata": {
"authors": [
- "Хомелка",
+ "Mechanizatar",
"Дзяніс Тутэйшы",
- "Mechanizatar"
+ "Хомелка"
]
},
"antispoof-desc": "Блакуе стварэнне рахункаў з імёнамі карыстальнікаў са змяшанымі раскладкамі, падобных ці тых, якія можна зблытаць",
@@ -21,9 +21,5 @@
"antispoof-tooshort": "Нармалізаванае імя занадта кароткае",
"antispoof-ignore": "Ігнараваць праверкі на падобнасць імёнаў",
"antispoof-ignore-help": "Дазваляе карыстальніку з дастатковымі прывілеямі стварыць уліковы запіс, нават калі яго імя падобна на існуючы ўліковы запіс.",
- "right-override-antispoof": "ігнараванне праверак на падобныя назвы рахункаў",
- "apihelp-antispoof-description": "Праверце імя карыстальніка праз AntiSpoof.",
- "apihelp-antispoof-param-username": "Імя карыстальніка для праверкі AntiSpoof.",
- "apihelp-antispoof-example-1": "Праверыць імя карыстальніка \"Foo\" з дапамогай AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ігнараваць праверкі на падобныя імёны (патрабуе правоў <code>override-antispoof</code>)."
+ "right-override-antispoof": "ігнараванне праверак на падобныя назвы рахункаў"
}
diff --git a/AntiSpoof/i18n/bg.json b/AntiSpoof/i18n/bg.json
index 5a29e137..1a709fa7 100644
--- a/AntiSpoof/i18n/bg.json
+++ b/AntiSpoof/i18n/bg.json
@@ -4,9 +4,10 @@
"Borislav",
"DCLXVI",
"Spiritia",
+ "StanProg",
"Stanqo",
- "Vodnokon4e",
- "StanProg"
+ "Vlad5250",
+ "Vodnokon4e"
]
},
"antispoof-desc": "Блокиране на създаването на сметки, изписани с различни писмени системи, объркващи или подобни на други потребителски имена",
@@ -18,10 +19,12 @@
"antispoof-blacklisted": "Съдържа забранен знак $1",
"antispoof-combining": "Започва със съставен знак $1",
"antispoof-unassigned": "Съдържа неопределен или нежелан знак $1",
- "antispoof-deprecated": "Съдържа непрепоръчителен символ $1",
+ "antispoof-deprecated": "Съдържа непрепоръчителен знак $1",
"antispoof-noletters": "Не съдържа букви",
"antispoof-mixedscripts": "Съдържа несъвместими писмени системи",
"antispoof-tooshort": "Каноничното име е твърде кратко",
"antispoof-ignore": "Игнорирай проверката на подобни имена",
- "right-override-antispoof": "Пренебрегване на проверката на подобни имена"
+ "antispoof-ignore-help": "Позволява на потребители с нужните привилегии да създават акаунт, дори и ако името му е подобно на това на съществуващ акаунт.",
+ "action-override-antispoof": "пренебрегване на проверките за подобни имена",
+ "right-override-antispoof": "Пренебрегване на проверките за подобни имена"
}
diff --git a/AntiSpoof/i18n/bn.json b/AntiSpoof/i18n/bn.json
index c5185738..f9c3041a 100644
--- a/AntiSpoof/i18n/bn.json
+++ b/AntiSpoof/i18n/bn.json
@@ -2,11 +2,11 @@
"@metadata": {
"authors": [
"Aftab1995",
+ "Aftabuzzaman",
"Bellayet",
+ "Elias Ahmmad",
"Nasir8891",
"Zaheen",
- "Aftabuzzaman",
- "Elias Ahmmad",
"আফতাবুজ্জামান"
]
},
diff --git a/AntiSpoof/i18n/bqi.json b/AntiSpoof/i18n/bqi.json
index d4c2b106..2b88091c 100644
--- a/AntiSpoof/i18n/bqi.json
+++ b/AntiSpoof/i18n/bqi.json
@@ -1,8 +1,16 @@
{
"@metadata": {
"authors": [
- "Bonevarluri"
+ "Bonevarluri",
+ "Kikumoron",
+ "Mogoeilor"
]
},
- "antispoof-empty": "رشنه حالی"
+ "antispoof-conflict-bottom": "لوتف کونین یٱ نوم کاریاری هیٛنی گولاْڤورچین کونین",
+ "antispoof-badtype": "جۊر دونسمٱنی لیش",
+ "antispoof-empty": "رشناْ هالی",
+ "antispoof-combining": "ڤا نشوݩ سریٱک بیڌن$1 شورۊ بۊ",
+ "antispoof-unassigned": "نڤیساْ نادیار$1 داراْ",
+ "antispoof-noletters": "هیژ هٱرفی میٛنس نی",
+ "antispoof-tooshort": "نوم نورمال ڤابیڌاْ غٱلٱڤاْ کۊچیراْ"
}
diff --git a/AntiSpoof/i18n/br.json b/AntiSpoof/i18n/br.json
index eba177ab..fdff9c6a 100644
--- a/AntiSpoof/i18n/br.json
+++ b/AntiSpoof/i18n/br.json
@@ -10,6 +10,7 @@
"antispoof-conflict-top": "Heñvel betek re eo an anv \"$1\" da hini {{PLURAL:$2|anv implijer}}:",
"antispoof-conflict-bottom": "Dibabit un anv all mar plij.",
"antispoof-name-illegal": "N'eo ket aotreet ober gant an anv \"$1\" kuit da gemmeskañ gant un anv all pe da implijout an anv : $2.\nGrit gant un anv all mar plij.",
+ "antispoof-bad-char": "\"$1\" ($2)",
"antispoof-badtype": "Seurt roadennoù fall",
"antispoof-empty": "Neudennad goullo",
"antispoof-blacklisted": "Emañ an arouezenn berzet $1 e-barzh",
diff --git a/AntiSpoof/i18n/bs.json b/AntiSpoof/i18n/bs.json
index 684bc1ef..f1f96b0b 100644
--- a/AntiSpoof/i18n/bs.json
+++ b/AntiSpoof/i18n/bs.json
@@ -20,6 +20,6 @@
"antispoof-noletters": "Ne sadrži ni jedno slovo",
"antispoof-mixedscripts": "Sadrži miješana slova koja nisu podržana",
"antispoof-tooshort": "Normalizirano ime je prekratko",
- "antispoof-ignore": "Ignoriraj provjeru sličnosti",
+ "antispoof-ignore": "Zanemari provjeru sličnosti",
"right-override-antispoof": "Zaobilaženje provjera korisničkog imena"
}
diff --git a/AntiSpoof/i18n/ca.json b/AntiSpoof/i18n/ca.json
index cc569fb0..a8a7c368 100644
--- a/AntiSpoof/i18n/ca.json
+++ b/AntiSpoof/i18n/ca.json
@@ -2,11 +2,12 @@
"@metadata": {
"authors": [
"Arnaugir",
+ "Bombolla",
"Pginer",
"Qllach",
"SMP",
- "Vriullop",
- "Toniher"
+ "Toniher",
+ "Vriullop"
]
},
"antispoof-desc": "Bloca la creació de comptes amb alfabets barrejats i noms d'usuari similars o que portin a confusió",
@@ -23,5 +24,6 @@
"antispoof-mixedscripts": "Conté una mescla incompatible d'escriptures",
"antispoof-tooshort": "Nom normalitzat massa curt",
"antispoof-ignore": "Ignora controls antispoof",
+ "antispoof-ignore-help": "Permet crear un compte als usuaris amb prou privilegis, inclús sota un nom similar a un d'existent.",
"right-override-antispoof": "Evitar el control de noms d'usuari"
}
diff --git a/AntiSpoof/i18n/co.json b/AntiSpoof/i18n/co.json
index f9ce3035..54666f0a 100644
--- a/AntiSpoof/i18n/co.json
+++ b/AntiSpoof/i18n/co.json
@@ -1,4 +1,6 @@
{
- "@metadata": [],
+ "@metadata": {
+ "authors": []
+ },
"antispoof-badtype": "Tipu gattivu di dati"
}
diff --git a/AntiSpoof/i18n/cs.json b/AntiSpoof/i18n/cs.json
index a375a90c..7e60edba 100644
--- a/AntiSpoof/i18n/cs.json
+++ b/AntiSpoof/i18n/cs.json
@@ -2,9 +2,9 @@
"@metadata": {
"authors": [
"Danny B.",
+ "Dvorapa",
"Li-sung",
- "Mormegil",
- "Dvorapa"
+ "Mormegil"
]
},
"antispoof-desc": "Brání vytváření účtů, jejichž jména jsou matoucí, podobná jiným uživatelům, nebo kombinují několik druhů písem",
diff --git a/AntiSpoof/i18n/da.json b/AntiSpoof/i18n/da.json
index b3214f32..7e63f36f 100644
--- a/AntiSpoof/i18n/da.json
+++ b/AntiSpoof/i18n/da.json
@@ -5,10 +5,10 @@
"Dittaeva",
"Froztbyte",
"Jan Friberg",
+ "Joedalton",
"Jon Harald Søby",
"Sarrus",
- "Tjernobyl",
- "Joedalton"
+ "Tjernobyl"
]
},
"antispoof-desc": "Blokerer for oprettelse af konti med blandede tegnsæt, forvirrende eller lignende brugernavne",
@@ -26,10 +26,5 @@
"antispoof-tooshort": "Normaliseret navn er for kort",
"antispoof-ignore": "Ignorér misbrugskontrol",
"antispoof-ignore-help": "Giver bruger med tilstrækkelige privilegier adgang til at oprette en konto selv om deres navn ligner en eksisterende konto.",
- "right-override-antispoof": "Omgå kontrollerne af brugernavne",
- "apihelp-antispoof-description": "Kontroller et brugernavn mod AntiSpoofs normaliseringskontroller.",
- "apihelp-antispoof-summary": "Kontroller et brugernavn mod AntiSpoofs normaliseringskontroller.",
- "apihelp-antispoof-param-username": "Brugernavnet der skal kontrolleres mod AntiSpoof.",
- "apihelp-antispoof-example-1": "Kontroller brugernavnet »Foo« mod AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignorer misbrugskontroller (kræver rettigheden <code>override-antispoof</code>)"
+ "right-override-antispoof": "Omgå kontrollerne af brugernavne"
}
diff --git a/AntiSpoof/i18n/de.json b/AntiSpoof/i18n/de.json
index 74e9d291..92ffb522 100644
--- a/AntiSpoof/i18n/de.json
+++ b/AntiSpoof/i18n/de.json
@@ -1,12 +1,12 @@
{
"@metadata": {
"authors": [
+ "Crazy1880",
"Geitost",
"Kghbln",
"Metalhead64",
"Raimond Spekking",
- "Umherirrender",
- "Crazy1880"
+ "Umherirrender"
]
},
"antispoof-desc": "Verhindert die Erstellung von Benutzerkonten mit gemischten Zeichensätzen, verwirrenden und ähnlichen Benutzernamen",
@@ -24,10 +24,6 @@
"antispoof-tooshort": "Der normalisierte Benutzername ist zu kurz.",
"antispoof-ignore": "Ähnlichkeitsprüfung ignorieren",
"antispoof-ignore-help": "Ermöglicht Benutzern mit ausreichenden Rechten, ein Benutzerkonto zu erstellen, auch wenn sein Name mit einem vorhandenen Benutzerkonto ähnlich ist.",
- "right-override-antispoof": "Die Benutzernamens-Ähnlichkeitsprüfung außer Kraft setzen",
- "apihelp-antispoof-description": "Einen Benutzernamen in die Normalisierungsprüfung der Erweiterung AntiSpoof aufnehmen.",
- "apihelp-antispoof-summary": "Einen Benutzernamen in die Normalisierungsprüfung der Erweiterung AntiSpoof aufnehmen.",
- "apihelp-antispoof-param-username": "Der Benutzername, der mit der Erweiterung AntiSpoof geprüft werden soll.",
- "apihelp-antispoof-example-1": "Den Benutzernamen „Foo“ mit der Erweiterung AntiSpoof überprüfen.",
- "apihelp-createaccount-param-ignoreantispoof": "Ignoriert die Prüfung auf Spoofing (erfordert die Berechtigung <code>override-antispoof</code>)."
+ "action-override-antispoof": "die Benutzernamens-Ähnlichkeitsprüfung außer Kraft zu setzen",
+ "right-override-antispoof": "Die Benutzernamens-Ähnlichkeitsprüfung außer Kraft setzen"
}
diff --git a/AntiSpoof/i18n/diq.json b/AntiSpoof/i18n/diq.json
index dbdef7b0..11a38ff5 100644
--- a/AntiSpoof/i18n/diq.json
+++ b/AntiSpoof/i18n/diq.json
@@ -1,27 +1,31 @@
{
"@metadata": {
"authors": [
+ "1917 Ekim Devrimi",
"Erdemaslancan",
"Gorizon",
- "Xoser",
+ "Kumkumuk",
"Mirzali",
- "Kumkumuk"
+ "Orbot707",
+ "Xoser"
]
},
- "antispoof-desc": "Hesaban pê skriptê mîxî, nameyê munaneyî bloke keno",
+ "antispoof-desc": "Hesaban pê skriptê miksi, nameyê takeşa bloke keno",
"antispoof-conflict-top": "Ena nameyé \"$1\"i ena {{PLURAL:$2|Namey karberi|namey karbera}} zaf paweno:",
- "antispoof-conflict-bottom": "Xorê yuna name bıvin",
+ "antispoof-conflict-bottom": "Xorê yewna nameyê karberi weçine.",
"antispoof-name-illegal": "Namey şıma name dê \"$2\"ya pê nêvawiyo deye name dê $1 rê mısade çıni yo. \nYewna name weçine.",
"antispoof-bad-char": "\"$1\" ($2)",
- "antispoof-badtype": "Tipê data yê xirabî",
- "antispoof-empty": "Stringê vengî",
+ "antispoof-badtype": "Xırab tipê datay",
+ "antispoof-empty": "Rêza veng",
"antispoof-blacklisted": "$1'i miyan de karaktero xırab esto",
"antispoof-combining": "Sembol dê $1 grênayışi ra nata yeno",
"antispoof-unassigned": "$1 zerre de çiyo xırab esto",
"antispoof-deprecated": "$1 miyan de karaktero xırabın esto",
"antispoof-noletters": "Yew zi herf çini yo",
"antispoof-mixedscripts": "Te de skriptanê xeripîyaye esto",
- "antispoof-tooshort": "Ena name zaf kilm o",
+ "antispoof-tooshort": "Eno name zehf kılmo",
"antispoof-ignore": "Kontrolê spoofî rê diket meke",
+ "antispoof-ignore-help": "Name, nameyanê binan ra ca bıaso zi fına zi karberanê bêemsal name vinayeyan rê mısade danê",
+ "action-override-antispoof": "Kontrolanê xapeynayışa mehesıbnê",
"right-override-antispoof": "Kontrolanê spoofî override bike"
}
diff --git a/AntiSpoof/i18n/el.json b/AntiSpoof/i18n/el.json
index 191a1c71..aba836da 100644
--- a/AntiSpoof/i18n/el.json
+++ b/AntiSpoof/i18n/el.json
@@ -3,12 +3,12 @@
"authors": [
"Badseed",
"Dead3y3",
+ "Geraki",
"Glavkos",
"Lou",
"Omnipaedista",
- "ZaDiak",
"Stam.nikos",
- "Geraki"
+ "ZaDiak"
]
},
"antispoof-desc": "Μπλοκάρει τη δημιουργία λογαριασμών με χαρακτήρες μικτής γραφής, συγχεχυμένα και παρόμοια ονόματα χρηστών.",
diff --git a/AntiSpoof/i18n/en-gb.json b/AntiSpoof/i18n/en-gb.json
index 912818e9..2465d076 100644
--- a/AntiSpoof/i18n/en-gb.json
+++ b/AntiSpoof/i18n/en-gb.json
@@ -1,8 +1,8 @@
{
"@metadata": {
"authors": [
- "Shirayuki",
- "Dejavu"
+ "Dejavu",
+ "Shirayuki"
]
},
"antispoof-desc": "Blocks the creation of accounts with mixed-script, confusing and similar usernames",
@@ -20,9 +20,5 @@
"antispoof-tooshort": "Canonicalised name too short",
"antispoof-ignore": "Ignore spoofing checks",
"antispoof-ignore-help": "Allows users with sufficient privileges to create an account even if its name is similar to that of an existing account.",
- "right-override-antispoof": "Override the spoofing checks",
- "apihelp-antispoof-description": "Check a username against AntiSpoof's normalization checks.",
- "apihelp-antispoof-param-username": "The username to check against AntiSpoof.",
- "apihelp-antispoof-example-1": "Check username \"Foo\" against AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignore spoofing checks (requires the <code>override-antispoof</code> right)."
+ "right-override-antispoof": "Override the spoofing checks"
}
diff --git a/AntiSpoof/i18n/en.json b/AntiSpoof/i18n/en.json
index 70a346ab..21cb88db 100644
--- a/AntiSpoof/i18n/en.json
+++ b/AntiSpoof/i18n/en.json
@@ -1,6 +1,11 @@
{
"@metadata": {
- "authors": []
+ "authors": [
+ "Brad Jorsch",
+ "datguy",
+ "FunPika",
+ "Gergő Tisza"
+ ]
},
"antispoof-desc": "Blocks the creation of accounts with mixed-script, confusing and similar usernames",
"antispoof-conflict-top": "The username \"$1\" is too similar to the following {{PLURAL:$2|username|usernames}}:",
@@ -20,10 +25,6 @@
"antispoof-tooshort": "Normalized name too short",
"antispoof-ignore": "Ignore spoofing checks",
"antispoof-ignore-help": "Allows users with sufficient privileges to create an account even if its name is similar to that of an existing account.",
- "right-override-antispoof": "Override the spoofing checks",
- "apihelp-antispoof-description": "Check a username against AntiSpoof's normalisation checks.",
- "apihelp-antispoof-summary": "Check a username against AntiSpoof's normalisation checks.",
- "apihelp-antispoof-param-username": "The username to check against AntiSpoof.",
- "apihelp-antispoof-example-1": "Check username \"Foo\" against AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignore spoofing checks (requires the <code>override-antispoof</code> right)."
+ "action-override-antispoof": "override the spoofing checks",
+ "right-override-antispoof": "Override the spoofing checks"
}
diff --git a/AntiSpoof/i18n/eo.json b/AntiSpoof/i18n/eo.json
index cd91348a..8cdedbe3 100644
--- a/AntiSpoof/i18n/eo.json
+++ b/AntiSpoof/i18n/eo.json
@@ -1,16 +1,18 @@
{
"@metadata": {
"authors": [
+ "KuboF",
+ "Mirin",
+ "Robin van der Vliet",
"Tlustulimu",
- "Yekrats",
- "KuboF"
+ "Yekrats"
]
},
- "antispoof-desc": "Blokas la kreadon de kontoj kun miksitaj alfabetaj, konfuzemaj, kaj similaj salutnomoj",
- "antispoof-conflict-top": "La nomo \"$1\" tro similas al la {{PLURAL:$2|jenan konton|jenajn $2 kontojn}}:",
- "antispoof-conflict-bottom": "Bonvolu elekti alian nomon.",
- "antispoof-name-illegal": "La nomo \"$1\" ne estas permesita por preventi konfuzigemajn aŭ trompajn uzantnomojn: $2. Bonvolu elekti alian nomon.",
- "antispoof-badtype": "Malvalida datumtipo",
+ "antispoof-desc": "Blokas la kreadon de kontoj kun miksitaj alfabetaj, konfuzemaj, kaj similaj uzantnomoj",
+ "antispoof-conflict-top": "La uzantnomo \"$1\" tro similas al la {{PLURAL:$2|jenan konton|jenajn $2 kontojn}}:",
+ "antispoof-conflict-bottom": "Bonvolu elekti alian uzantnomon.",
+ "antispoof-name-illegal": "La uzantnomo \"$1\" ne estas permesita por preventi konfuzigemajn aŭ trompajn uzantnomojn: $2. Bonvolu elekti alian uzantnomon.",
+ "antispoof-badtype": "Nevalida datumtipo",
"antispoof-empty": "Malplena bitĉeno",
"antispoof-blacklisted": "Enhavas literojn el nigra listo $1",
"antispoof-combining": "Komencas kun kuniga marko $1",
@@ -18,7 +20,9 @@
"antispoof-deprecated": "Enhavas evitindan signon $1",
"antispoof-noletters": "Enhavas neniujn literojn",
"antispoof-mixedscripts": "Enhavas nekompatibilajn miksajn skriptojn",
- "antispoof-tooshort": "Ordigita nomo estas tro mallonga",
+ "antispoof-tooshort": "Personecigita nomo estas tro mallonga",
"antispoof-ignore": "Ignori kontroladon de trompado",
+ "antispoof-ignore-help": "Permesi uzanton kun sufiĉo da rajtoj krei konton, kies nomo similas la nomon de alia konto.",
+ "action-override-antispoof": "ignori kontroladon de trompado",
"right-override-antispoof": "Superebligi la artifikajn kontrolojn."
}
diff --git a/AntiSpoof/i18n/es.json b/AntiSpoof/i18n/es.json
index 6ac20ab7..f136c771 100644
--- a/AntiSpoof/i18n/es.json
+++ b/AntiSpoof/i18n/es.json
@@ -3,20 +3,20 @@
"authors": [
"Armando-Martin",
"Cvmontuy",
+ "Dgstranz",
"Fitoschido",
"Icvav",
"Locos epraix",
+ "Macofe",
+ "MarcoAurelio",
"Platonides",
"Remember the dot",
+ "Ryo567",
"Sanbec",
- "Titoxd",
- "VegaDark",
"Themasterriot",
- "Ryo567",
- "Macofe",
- "MarcoAurelio",
- "Dgstranz",
- "Tusca"
+ "Titoxd",
+ "Tusca",
+ "VegaDark"
]
},
"antispoof-desc": "Previene la creación de cuentas de usuario nuevas que tengan nombres confusos, similares a nombres existentes, o con alfabetos mixtos.",
@@ -35,10 +35,6 @@
"antispoof-tooshort": "Nombre normalizado demasiado corto",
"antispoof-ignore": "Ignorar comprobaciones contra suplantaciones",
"antispoof-ignore-help": "Permite a los usuarios que tengan suficientes privilegios crear una cuenta incluso aunque su nombre sea similar al de una cuenta existente.",
- "right-override-antispoof": "Anula las comprobaciones de suplantación",
- "apihelp-antispoof-description": "Comprobar un nombre de usuario contra las comprobación de normalización del sistema AntiSpoof",
- "apihelp-antispoof-summary": "Comprobar un nombre de usuario contra las verificaciones de normalización de AntiSpoof.",
- "apihelp-antispoof-param-username": "El nombre de usuario a comprobar contra el sistema AntiSpoof.",
- "apihelp-antispoof-example-1": "Comprobar nombre de usuario \"Foo\" contra el sistema AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignorar verificación contra la suplantación de identidad (antispoof) (necesita el permiso <code>override-antispoof</code>)."
+ "action-override-antispoof": "anula las comprobaciones contra las suplantaciones",
+ "right-override-antispoof": "Anula las comprobaciones de suplantación"
}
diff --git a/AntiSpoof/i18n/et.json b/AntiSpoof/i18n/et.json
index 1cd4f3ed..98834a22 100644
--- a/AntiSpoof/i18n/et.json
+++ b/AntiSpoof/i18n/et.json
@@ -18,8 +18,5 @@
"antispoof-mixedscripts": "Sisaldab ühildumatuid kirjasüsteeme",
"antispoof-tooshort": "Normaliseeritud nimi on liiga lühike",
"antispoof-ignore": "Eira sarnasuskontrolle",
- "right-override-antispoof": "Alistada sarnasuskontrollid",
- "apihelp-antispoof-description": "Kasutajanime kontrollimine tüssamisvastaste normaliseerimiskontrollide vastu.",
- "apihelp-antispoof-param-username": "Kasutajanimi, mida tüssamisvastase kontrolli vastu kontrollida.",
- "apihelp-antispoof-example-1": "Kontrolli kasutajanime \"Foo\" tüssamisvastase kontrolli vastu"
+ "right-override-antispoof": "Alistada sarnasuskontrollid"
}
diff --git a/AntiSpoof/i18n/eu.json b/AntiSpoof/i18n/eu.json
index 99714d73..aa57713a 100644
--- a/AntiSpoof/i18n/eu.json
+++ b/AntiSpoof/i18n/eu.json
@@ -1,15 +1,16 @@
{
"@metadata": {
"authors": [
+ "An13sa",
"Joxemai",
"Kobazulo",
"Mikel Ibaiba"
]
},
"antispoof-conflict-bottom": "Mesedez, beste erabiltzaile izen bat aukeratu.",
- "antispoof-name-illegal": "\"$1\" izena ez dago onartuta gaizkiulertuak saihesteko: $2. Beste izen bat hautatu mesedez.",
+ "antispoof-name-illegal": "\"$1\" erabiltzaile izena ez dago onartuta gaizkiulertuak saihesteko: $2. Beste izen bat hautatu mesedez.",
"antispoof-badtype": "Datu mota ezegokia",
"antispoof-empty": "Kate hutsa",
"antispoof-noletters": "Ez dauka letrarik",
- "antispoof-tooshort": "Izen kanonikoa laburregia"
+ "antispoof-tooshort": "Izen normalizatua laburregia"
}
diff --git a/AntiSpoof/i18n/fa.json b/AntiSpoof/i18n/fa.json
index 7c486591..eddea222 100644
--- a/AntiSpoof/i18n/fa.json
+++ b/AntiSpoof/i18n/fa.json
@@ -1,21 +1,23 @@
{
"@metadata": {
"authors": [
+ "Amirsara",
+ "Dalba",
"Ebraminio",
"Hooshmand.hasannia",
"Huji",
+ "Ladsgroup",
"Omidh",
"Reza1615",
"Surena",
- "ZxxZxxZ",
- "Dalba",
- "Ladsgroup"
+ "ZxxZxxZ"
]
},
"antispoof-desc": "از ایجاد حساب‌های کاربری با حروف مختلط، گیج‌کننده یا مشابه با دیگر حساب‌های کاربری جلوگیری می‌کند",
"antispoof-conflict-top": "نام کاربری «$1» خیلی به {{PLURAL:$2|این حساب کاربری|این حساب‌های کاربری}} شباهت دارد.",
"antispoof-conflict-bottom": "لطفا نام کاربری دیگری انتخاب کنید.",
"antispoof-name-illegal": "نام کاربری «$1» به دلیل جلوگیری از نام‌های کاربری سردرگم‌کننده یا جعلی مجاز نیست: $2. لطفاً نام دیگری انتخاب کنید.",
+ "antispoof-bad-char": "\"$1\" ($2)",
"antispoof-badtype": "داده با نوع نامناسب",
"antispoof-empty": "رشتهٔ خالی",
"antispoof-blacklisted": "حاوی نویسهٔ $1 است که در فهرست سیاه قرار دارد",
@@ -27,10 +29,5 @@
"antispoof-tooshort": "نام بهنجار شده خیلی کوتاه است",
"antispoof-ignore": "نادیده‌گرفتن بررسی عبارات سردرگم‌کننده",
"antispoof-ignore-help": "به کاربرانی که دسترسی لازم داشته باشند اجازه می‌دهد که حساب بسازند حتی اگر نامش شبیه یکی از حساب‌های موجود باشد.",
- "right-override-antispoof": "گذر از بررسی عبارات سردرگم‌کننده",
- "apihelp-antispoof-description": "بررسی یک نام‌ کاربری بر طبق بهنجارسازی عبارات سردرگم‌کننده",
- "apihelp-antispoof-summary": "بررسی یک نام کاربری به وسیلهٔ آزمون‌های بهنجارسازی عبارات سردرگم‌کننده",
- "apihelp-antispoof-param-username": "نام کاربری‌ای که با ضدجعل بررسی می‌شود.",
- "apihelp-antispoof-example-1": "بررسی نام کاربر «Foo» با ضدجعل",
- "apihelp-createaccount-param-ignoreantispoof": "نادیده‌گرفتن بررسی عبارات سردرگم‌کننده (نیازمند دسترسی <code>override-antispoof</code> است)"
+ "right-override-antispoof": "گذر از بررسی عبارات سردرگم‌کننده"
}
diff --git a/AntiSpoof/i18n/fi.json b/AntiSpoof/i18n/fi.json
index 4905900c..2ac3c466 100644
--- a/AntiSpoof/i18n/fi.json
+++ b/AntiSpoof/i18n/fi.json
@@ -1,14 +1,14 @@
{
"@metadata": {
"authors": [
+ "01miki10",
"Crt",
"Linnea",
"Nike",
+ "Pyscowicz",
"Samoasambia",
"Silvonen",
- "Str4nd",
- "Pyscowicz",
- "01miki10"
+ "Str4nd"
]
},
"antispoof-desc": "Estää käyttäjätunnusten luonnin, jos ne sisältävät eri kirjoitusjärjestelmiä, harhaanjohtavia tai samankaltaisia käyttäjätunnuksia.",
diff --git a/AntiSpoof/i18n/fo.json b/AntiSpoof/i18n/fo.json
index 21dd2c42..5cfeeded 100644
--- a/AntiSpoof/i18n/fo.json
+++ b/AntiSpoof/i18n/fo.json
@@ -16,7 +16,5 @@
"antispoof-deprecated": "Inniheldur ikki loyvda teknið $1",
"antispoof-noletters": "Inniheldur ikki nakran bókstav",
"antispoof-tooshort": "Navnið er ov stutt",
- "antispoof-ignore": "Síggj burtur frá \"spoofing\" kanning",
- "apihelp-antispoof-param-username": "Brúkaranavnið ið skal kannast móti AntiSpoof.",
- "apihelp-antispoof-example-1": "Kanna brúkaranavnið \"Foo\" móti AntiSpoof"
+ "antispoof-ignore": "Síggj burtur frá \"spoofing\" kanning"
}
diff --git a/AntiSpoof/i18n/fr.json b/AntiSpoof/i18n/fr.json
index 63e8adcd..289b87e4 100644
--- a/AntiSpoof/i18n/fr.json
+++ b/AntiSpoof/i18n/fr.json
@@ -6,19 +6,21 @@
"Grondin",
"IAlex",
"Louperivois",
+ "Mattho69",
"PieRRoMaN",
+ "Pols12",
"Sherbrooke",
+ "Thibaut120094",
"Urhixidur",
"Verdy p",
- "Yasten",
- "Mattho69",
- "Wladek92"
+ "Wladek92",
+ "Yasten"
]
},
"antispoof-desc": "Bloque la création de comptes ayant des noms d’utilisateur similaires, utilisant diverses écritures, ou pouvant prêter à confusion",
- "antispoof-conflict-top": "Le nom « $1 » ressemble trop {{PLURAL:$2|à l’utilisateur suivant|aux utilisateurs suivants}} :",
- "antispoof-conflict-bottom": "Veuillez choisir un autre nom d'utilisateur.",
- "antispoof-name-illegal": "Le nom d'utilisateur « $1 » n'est pas autorisé, afin d'éviter la confusion ou à l'usurpation de noms d'utilisateur: $2.\nVeuillez choisir un autre nom d'utilisateur.",
+ "antispoof-conflict-top": "Le nom « $1 » ressemble trop {{PLURAL:$2|à l’utilisateur suivant|aux utilisateurs suivants}} :",
+ "antispoof-conflict-bottom": "Veuillez choisir un autre nom d’utilisateur.",
+ "antispoof-name-illegal": "Le nom d’utilisateur « $1 » n’est pas autorisé, afin d’éviter la confusion ou l’usurpation des noms d’utilisateurs : $2. Veuillez choisir un autre nom d’utilisateur.",
"antispoof-bad-char": "‹$1› ($2)",
"antispoof-badtype": "Mauvais type de données",
"antispoof-empty": "Chaîne vide",
@@ -30,11 +32,7 @@
"antispoof-mixedscripts": "Contient plusieurs écritures incompatibles",
"antispoof-tooshort": "Nom normalisé trop court",
"antispoof-ignore": "Ignorer la vérification de similitude avec les utilisateurs existants",
- "antispoof-ignore-help": "Permet aux utilisateurs ayant des privilèges suffisants de créer un compte, même si son nom est similaire à celui d'un compte existant.",
- "right-override-antispoof": "Court-circuiter les vérifications de tromperie",
- "apihelp-antispoof-description": "Vérifier un nom d’utilisateur d’après les contrôles de normalisation AntiSpoof.",
- "apihelp-antispoof-summary": "Contrôler un nom d’utilisateur d’après la normalisation de AntiSpoof.",
- "apihelp-antispoof-param-username": "Le nom d’utilisateur à vérifier d’après AntiSpoof.",
- "apihelp-antispoof-example-1": "Vérifier le nom d’utilisateur « Foo » d’après AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignorer les contrôles d’usurpation (nécessite le droit <code>override-antispoof</code>)."
+ "antispoof-ignore-help": "Permet aux utilisateurs ayant des privilèges suffisants de créer un compte, même si son nom est similaire à celui d’un compte existant.",
+ "action-override-antispoof": "court-circuiter les vérifications d’usurpation",
+ "right-override-antispoof": "Court-circuiter les vérifications de tromperie"
}
diff --git a/AntiSpoof/i18n/frc.json b/AntiSpoof/i18n/frc.json
index 2b0f57f9..7c4bdb69 100644
--- a/AntiSpoof/i18n/frc.json
+++ b/AntiSpoof/i18n/frc.json
@@ -1,8 +1,8 @@
{
"@metadata": {
"authors": [
- "JeanVoisin",
- "Hangmanwa7id"
+ "Hangmanwa7id",
+ "JeanVoisin"
]
},
"antispoof-name-illegal": "Le nom \"$1\" est pas permit pour empêcher de confondre ou d'user le nom \"$2\". Choisissez donc un autre nom.",
diff --git a/AntiSpoof/i18n/frr.json b/AntiSpoof/i18n/frr.json
index 423d879f..94a914a9 100644
--- a/AntiSpoof/i18n/frr.json
+++ b/AntiSpoof/i18n/frr.json
@@ -18,9 +18,5 @@
"antispoof-mixedscripts": "Diar san tiakens faan ünlik skraft-süsteemen uun.",
"antispoof-tooshort": "Di nööm as tu kurt.",
"antispoof-ignore": "Ei efter nai nöömer schük",
- "right-override-antispoof": "Det preew efter ünpaasin nöömer hialandaal ufstel",
- "apihelp-antispoof-description": "En brükernööm uun det normoolisiarangs-preew faan AntiSpoof apnem.",
- "apihelp-antispoof-param-username": "Di brükernööm, di mä AntiSpoof preewet wurd skal.",
- "apihelp-antispoof-example-1": "Di brükernööm „Foo“ mä AntiSpoof preewe.",
- "apihelp-createaccount-param-ignoreantispoof": "Auergongt det spoofing-preew (wan det rocht <code>override-antispoof</code> föörleit)."
+ "right-override-antispoof": "Det preew efter ünpaasin nöömer hialandaal ufstel"
}
diff --git a/AntiSpoof/i18n/gl.json b/AntiSpoof/i18n/gl.json
index 0835c4fc..4ca40eb1 100644
--- a/AntiSpoof/i18n/gl.json
+++ b/AntiSpoof/i18n/gl.json
@@ -2,9 +2,9 @@
"@metadata": {
"authors": [
"Alma",
- "Toliño",
"Banjo",
- "Elisardojm"
+ "Elisardojm",
+ "Toliño"
]
},
"antispoof-desc": "Bloquea a creación de contas con escrituras mesturadas, confusas ou con nomes de usuario similares",
@@ -22,10 +22,5 @@
"antispoof-tooshort": "Nome normalizado curto de máis",
"antispoof-ignore": "Ignorar as comprobacións de engaños (spoofing)",
"antispoof-ignore-help": "Permite ós usuarios con permisos axeitados crear unha conta incluso se o seu nome é semellante ó dunha conta xa existente.",
- "right-override-antispoof": "Ignorar as comprobacións de engaños (spoofing)",
- "apihelp-antispoof-description": "Comprobar un nome de usuario coas comprobacións de normalización de AntiSpoof",
- "apihelp-antispoof-summary": "Comprobar un nome de usuario coas comprobacións de normalización de AntiSpoof",
- "apihelp-antispoof-param-username": "Nome de usuario a comprobar có AntiSpoof",
- "apihelp-antispoof-example-1": "Comprobar nome de usuario \"Foo\" có AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignorar comprobación de enganos (spoofing) (require o permiso <code>override-antispoof</code>)"
+ "right-override-antispoof": "Ignorar as comprobacións de engaños (spoofing)"
}
diff --git a/AntiSpoof/i18n/he.json b/AntiSpoof/i18n/he.json
index f8e87fac..22d6b7fe 100644
--- a/AntiSpoof/i18n/he.json
+++ b/AntiSpoof/i18n/he.json
@@ -7,9 +7,9 @@
]
},
"antispoof-desc": "חסימת יצירה של חשבונות עם סוגי כתב מעורבים, שמות מבלבלים ושמות משתמש דומים",
- "antispoof-conflict-top": "שם המשתמש \"$1\" דומה מדי {{PLURAL:$2|לחשבון הקיים הבא|לשם המשתמש של $2 החשבונות הקיימים הבאים}}:",
+ "antispoof-conflict-top": "שם המשתמש \"$1\" דומה מדי {{PLURAL:$2|לשם המשתמש הבא|ל־$2 שמות המשתמש הבאים}}:",
"antispoof-conflict-bottom": "נא לבחור שם משתמש אחר.",
- "antispoof-name-illegal": "לא ניתן לבחור את שם המשתמש \"$1\" כדי למנוע שמות משתמש מבלבלים: $2.\nנא לבחור שם משתמש אחר.",
+ "antispoof-name-illegal": "שם המשתמש \"$1\" נאסר כדי למנוע שמות משתמש שיש בהם בלבול או התחזות: $2.\nנא לבחור שם משתמש אחר.",
"antispoof-badtype": "סוג נתונים בעייתי",
"antispoof-empty": "מחרוזת ריקה",
"antispoof-blacklisted": "מכיל את התו $1 שאסור לשימוש",
@@ -17,14 +17,10 @@
"antispoof-unassigned": "מכיל את התו הבלתי־מוקצה או המיושן $1",
"antispoof-deprecated": "מכיל את התו המיושן $1",
"antispoof-noletters": "לא מכיל אותיות",
- "antispoof-mixedscripts": "מכיל סוגי כתב בלתי־תואמים",
+ "antispoof-mixedscripts": "מכיל שיטות כתב מעורבים בלתי־תואמים",
"antispoof-tooshort": "השם המנורמל קצר מדי",
"antispoof-ignore": "התעלמות מבדיקת ההתחזות",
"antispoof-ignore-help": "לאפשר למשתמשים עם הרשאות מתאימות ליצור חשבון אפילו אם השם שלו דומה לחשבון קיים.",
- "right-override-antispoof": "עקיפת בדיקות ההתחזות",
- "apihelp-antispoof-description": "בדיקת שם משתמש אל מול בדיקות נרמול של AntiSpoof.",
- "apihelp-antispoof-summary": "בדיקת שם משתמש אל מול בדיקות נרמול של AntiSpoof.",
- "apihelp-antispoof-param-username": "שם משתמש לבדוק אל מול AntiSpoof.",
- "apihelp-antispoof-example-1": "לבדוק את שם המשתמש Foo אל מול AntiSpoof.",
- "apihelp-createaccount-param-ignoreantispoof": "להתעלם מבדיקות התחזות (נדרשת הרשאת <code>override-antispoof</code>)."
+ "action-override-antispoof": "לעקוף את בדיקות ההתחזות",
+ "right-override-antispoof": "עקיפת בדיקות ההתחזות"
}
diff --git a/AntiSpoof/i18n/hi.json b/AntiSpoof/i18n/hi.json
index 7f0c7c4c..191e0d12 100644
--- a/AntiSpoof/i18n/hi.json
+++ b/AntiSpoof/i18n/hi.json
@@ -1,16 +1,16 @@
{
"@metadata": {
"authors": [
+ "Hindustanilanguage",
+ "Innocentbunny",
+ "Jayprakash12345",
"Kannankumar",
"Kaustubh",
"Knight Samar",
"Pooja.srivastava",
- "Shyam123.ckp",
- "Siddhartha Ghai",
- "Hindustanilanguage",
"Sfic",
- "Jayprakash12345",
- "Innocentbunny"
+ "Shyam123.ckp",
+ "Siddhartha Ghai"
]
},
"antispoof-desc": "मिश्रित लिपि और संभ्रम पैदा करने वाले तथा मिलते-जुलते सदस्यनामों के प्रयोग पर रोक लगाता है।",
@@ -28,10 +28,5 @@
"antispoof-tooshort": "अधिकारयुक्त नाम बहुत छोटा हैं",
"antispoof-ignore": "स्पूफिंग जाँच नज़रंदाज़ करें",
"antispoof-ignore-help": "कुछ पर्याप्त अधिकार प्राप्त सदस्य ऐसे खाते भी खोल सकते हैं, जिसके समान नाम वाले खाते पहले से ही बने हुए हों।",
- "right-override-antispoof": "स्पूफिंग चेक्स को नजर अंदाज करें",
- "apihelp-antispoof-description": "एंटीस्पूफ के मानकीकरण जाँच अनुसार सदस्य नाम की जाँच करें।",
- "apihelp-antispoof-summary": "ऍण्टीस्पूफ़ के मानकीकरण जाँच अनुसार सदस्य-नाम की जाँच करें।",
- "apihelp-antispoof-param-username": "जाँच हेतु सदस्य नाम जिससे धोखा न हो",
- "apihelp-antispoof-example-1": "धोखा के विरुद्ध \"फू\" सदस्य की जांच",
- "apihelp-createaccount-param-ignoreantispoof": "धोखे की जाँच को अनदेखा करें (<code>override-antispoof</code> अधिकार अनिवार्य)"
+ "right-override-antispoof": "स्पूफिंग चेक्स को नजर अंदाज करें"
}
diff --git a/AntiSpoof/i18n/hif-latn.json b/AntiSpoof/i18n/hif-latn.json
index 0777a635..89e0c0ae 100644
--- a/AntiSpoof/i18n/hif-latn.json
+++ b/AntiSpoof/i18n/hif-latn.json
@@ -19,8 +19,5 @@
"antispoof-mixedscripts": "Isme incompatible mixed script hae",
"antispoof-tooshort": "Canonicalized naam bahut chhota hae",
"antispoof-ignore": "Spooling check ke ignore kar do",
- "right-override-antispoof": "Spooling checks ke override karaa jaawe hae",
- "apihelp-antispoof-description": "Check a username against AntiSpoof's normalisation checks.",
- "apihelp-antispoof-param-username": "The username to check against AntiSpoof.",
- "apihelp-antispoof-example-1": "Check username \"Foo\" against AntiSpoof"
+ "right-override-antispoof": "Spooling checks ke override karaa jaawe hae"
}
diff --git a/AntiSpoof/i18n/hr.json b/AntiSpoof/i18n/hr.json
index 92dd9bce..47fa79a8 100644
--- a/AntiSpoof/i18n/hr.json
+++ b/AntiSpoof/i18n/hr.json
@@ -2,8 +2,8 @@
"@metadata": {
"authors": [
"Dalibor Bosits",
- "SpeedyGonsales",
- "MaGa"
+ "MaGa",
+ "SpeedyGonsales"
]
},
"antispoof-desc": "Sprečava stvaranje sličnih i nepravilnih suradničkih računa",
diff --git a/AntiSpoof/i18n/ht.json b/AntiSpoof/i18n/ht.json
index 9327a51c..f0b3520f 100644
--- a/AntiSpoof/i18n/ht.json
+++ b/AntiSpoof/i18n/ht.json
@@ -2,6 +2,7 @@
"@metadata": {
"authors": [
"Boukman",
+ "LeGuyanaisPure",
"Masterches"
]
},
@@ -12,7 +13,7 @@
"antispoof-blacklisted": "Kontni yon karaktè ki pa otorize",
"antispoof-combining": "Ap koumanse avèk yon mak konbine",
"antispoof-unassigned": "Kontni yon karaktè ki pa asiyen oubyen ki pa itilize ankò",
- "antispoof-noletters": "Pa kontni pyès lèt",
+ "antispoof-noletters": "Ka kontni pyès lèt",
"antispoof-mixedscripts": "Kontni plizyè alfabèt ki pa konpatib",
"antispoof-tooshort": "Non kanonik an two kout"
}
diff --git a/AntiSpoof/i18n/hu.json b/AntiSpoof/i18n/hu.json
index 2824e6ef..3310ce7a 100644
--- a/AntiSpoof/i18n/hu.json
+++ b/AntiSpoof/i18n/hu.json
@@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
+ "Bencemac",
"Dani",
"Dj",
"Tacsipacsi"
@@ -21,5 +22,6 @@
"antispoof-mixedscripts": "Összeférhetetlen kevert szöveget tartalmaz",
"antispoof-tooshort": "A kanonizált változat túl rövid",
"antispoof-ignore": "Névellenőrzés figyelmen kívül hagyása",
+ "action-override-antispoof": "felhasználói nevek ellenőrzésének figyelmen kívül hagyása",
"right-override-antispoof": "felhasználói nevek ellenőrzésének figyelmen kívül hagyása"
}
diff --git a/AntiSpoof/i18n/ia.json b/AntiSpoof/i18n/ia.json
index af4330a7..53768c82 100644
--- a/AntiSpoof/i18n/ia.json
+++ b/AntiSpoof/i18n/ia.json
@@ -19,10 +19,5 @@
"antispoof-tooshort": "Nomine normalisate troppo curte",
"antispoof-ignore": "Ignorar le verificationes contra falsification",
"antispoof-ignore-help": "Permitte al usatores con privilegios sufficiente de crear un conto mesmo si su nomine es similar a illo de un conto existente.",
- "right-override-antispoof": "Ignorar le verificationes contra falsification",
- "apihelp-antispoof-description": "Includer un nomine de usator in le controlos de normalisation AntiSpoof.",
- "apihelp-antispoof-summary": "Verificar un nomine de usator contra le normas de AntiSpoof.",
- "apihelp-antispoof-param-username": "Le nomine de usator a verificar con AntiSpoof.",
- "apihelp-antispoof-example-1": "Verificar le nomine de usator \"Foo\" con AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignorar le controlos de usurpation (require le derecto <code>override-antispoof</code>)."
+ "right-override-antispoof": "Ignorar le verificationes contra falsification"
}
diff --git a/AntiSpoof/i18n/id.json b/AntiSpoof/i18n/id.json
index f2e2d7ce..c7d7a34d 100644
--- a/AntiSpoof/i18n/id.json
+++ b/AntiSpoof/i18n/id.json
@@ -1,13 +1,13 @@
{
"@metadata": {
"authors": [
+ "Arifin.wijaya",
"Bennylin",
"IvanLanin",
"Kenrick95",
"Meursault2004",
- "Rex",
- "Arifin.wijaya",
- "Rachmat04"
+ "Rachmat04",
+ "Rex"
]
},
"antispoof-desc": "Menghalangi pembuatan akun dengan nama pengguna aksara campuran, membingungkan, dan yang mirip",
@@ -25,10 +25,5 @@
"antispoof-tooshort": "Nama normalisasi terlalu pendek",
"antispoof-ignore": "Abaikan pemeriksaan penipuan akun",
"antispoof-ignore-help": "Izinkan pengguna dengan hak memadai untuk membuat sebuah akun walaupun namanya mirip dengan akun yang telah ada.",
- "right-override-antispoof": "Mengabaikan pengecekan penipuan nama pengguna",
- "apihelp-antispoof-description": "Periksa nama pengguna dengan pemeriksaan normalisasi AntiPenipuan.",
- "apihelp-antispoof-summary": "Periksa nama pengguna dengan pemeriksaan normalisasi AntiPenipuan.",
- "apihelp-antispoof-param-username": "Nama pengguna yang akan diperiksa dengan AntiPenipuan.",
- "apihelp-antispoof-example-1": "Periksa nama pengguna \"Foo\" dengan AntiPenipuan",
- "apihelp-createaccount-param-ignoreantispoof": "Abaikan pemeriksaan penipuan (memerlukan hak akses <code>override-antispoof</code>)."
+ "right-override-antispoof": "Mengabaikan pengecekan penipuan nama pengguna"
}
diff --git a/AntiSpoof/i18n/ilo.json b/AntiSpoof/i18n/ilo.json
index 82be90f1..053d5389 100644
--- a/AntiSpoof/i18n/ilo.json
+++ b/AntiSpoof/i18n/ilo.json
@@ -19,9 +19,5 @@
"antispoof-tooshort": "Ti kanonikalisado a nagan ket ababa unay",
"antispoof-ignore": "Saan nga ikaskaso dagiti kinita nga aningaas",
"antispoof-ignore-help": "Mangipalubos kadagiti agar-aramat nga addaan iti makaanay a pribilihio iti agpartuat iti maysa a pakabilangan urayno no ti naganna ket kapada iti maysa nga addan a pakabilangan.",
- "right-override-antispoof": "Parabawan ti panagkita nga aningaas",
- "apihelp-antispoof-description": "Kitaen ti nagan ti agar-aramat nga isuppiat iti normalisasion a panagkita ti AntiSpoof.",
- "apihelp-antispoof-param-username": "Ti nagan ti agar-aramat a kitaen a maisuppiat iti AntiSpoof.",
- "apihelp-antispoof-example-1": "Kitaen ti nagan ti agar-aramat \"Foo\" a maisuppiat iti AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Di ikaskaso ti panagkita ti spoofing (nasken ti karbengan ti <code>override-antispoof</code>)."
+ "right-override-antispoof": "Parabawan ti panagkita nga aningaas"
}
diff --git a/AntiSpoof/i18n/io.json b/AntiSpoof/i18n/io.json
index 080b535a..f17be7f1 100644
--- a/AntiSpoof/i18n/io.json
+++ b/AntiSpoof/i18n/io.json
@@ -4,5 +4,6 @@
"Joao Xavier"
]
},
+ "antispoof-badtype": "Tipo di dato nevalida",
"antispoof-empty": "vakua 'string'"
}
diff --git a/AntiSpoof/i18n/it.json b/AntiSpoof/i18n/it.json
index 927381ce..77529d54 100644
--- a/AntiSpoof/i18n/it.json
+++ b/AntiSpoof/i18n/it.json
@@ -3,10 +3,11 @@
"authors": [
"Beta16",
"BrokenArrow",
+ "Dansita",
"Darth Kule",
+ "Matteocng",
"Nemo bis",
- "Pietrodn",
- "Matteocng"
+ "Pietrodn"
]
},
"antispoof-desc": "Impedisce la creazione di nomi utente con caratteri misti e nomi utente che generano confusione o troppo simili tra loro.",
@@ -24,10 +25,6 @@
"antispoof-tooshort": "Nome normalizzato troppo corto",
"antispoof-ignore": "Ignora i controlli per spoofing",
"antispoof-ignore-help": "Consente agli utenti con privilegi sufficienti di creare un'utenza, anche se il suo nome è simile a quella di un'altra già esistente.",
- "right-override-antispoof": "Ignora i controlli spoofing",
- "apihelp-antispoof-description": "Controlla un nome utente con le verifiche di normalizzaizone AntiSpoof",
- "apihelp-antispoof-summary": "Controlla un nome utente con le verifiche di normalizzaizone AntiSpoof",
- "apihelp-antispoof-param-username": "Il nome utente da verificare con AntiSpoof.",
- "apihelp-antispoof-example-1": "Controlla il nome utente \"Foo\" con AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignora i controlli spoofing (richiede il diritto <code>override-antispoof</code>)"
+ "action-override-antispoof": "Ignora i controlli spoofing",
+ "right-override-antispoof": "Ignora i controlli spoofing"
}
diff --git a/AntiSpoof/i18n/ja.json b/AntiSpoof/i18n/ja.json
index f7143385..457f2706 100644
--- a/AntiSpoof/i18n/ja.json
+++ b/AntiSpoof/i18n/ja.json
@@ -1,15 +1,16 @@
{
"@metadata": {
"authors": [
+ "2nd-player",
+ "Afaz",
"Aotake",
"Fryed-peach",
"JtFuruhata",
"Mizusumashi",
"Muttley",
+ "Otokoume",
"Shirayuki",
- "2nd-player",
"Takot",
- "Otokoume",
"Yusuke1109"
]
},
@@ -29,10 +30,6 @@
"antispoof-tooshort": "正規化した名前が短すぎます",
"antispoof-ignore": "なりすましチェックを無効にする",
"antispoof-ignore-help": "十分な特権を持つ利用者が、既存のアカウントの名前と同じ名前であってもアカウントを作成できるようにします。",
- "right-override-antispoof": "なりすましチェックを無視",
- "apihelp-antispoof-description": "ユーザー名が AntiSpoof の正規化チェックに反しているかどうかチェックする",
- "apihelp-antispoof-summary": "ユーザー名が AntiSpoof の正規化チェックに反しているかどうかチェックする",
- "apihelp-antispoof-param-username": "AntiSpoof に対してチェックするユーザー名",
- "apihelp-antispoof-example-1": "利用者名 \"Foo\" を AntiSpoof でチェックする",
- "apihelp-createaccount-param-ignoreantispoof": "なりすましチェックを無視する (<code>override-antispoof</code> の権限が必要)。"
+ "action-override-antispoof": "なりすましチェックの無視",
+ "right-override-antispoof": "なりすましチェックを無視"
}
diff --git a/AntiSpoof/i18n/jv.json b/AntiSpoof/i18n/jv.json
index fdad2cfe..f80c2ff5 100644
--- a/AntiSpoof/i18n/jv.json
+++ b/AntiSpoof/i18n/jv.json
@@ -1,15 +1,17 @@
{
"@metadata": {
"authors": [
+ "Diki Ananta",
"Meursault2004",
"NoiX180",
"Pras",
+ "Sumbukompor",
"Umherirrender"
]
},
- "antispoof-desc": "Menggak nggawé akun utawa rékening mawa jeneng panganggo aksara campuran, mbingungaké lan sing mèmper",
+ "antispoof-desc": "Menggak nggawé akun utawa rékening mawa jeneng naraguna aksara campuran, mbingungaké lan sing mèmper",
"antispoof-conflict-top": "Jeneng \"$1\" mèmper banget karo {{PLURAL:$2|akun sing wis ana|$2 akun iki}}:",
- "antispoof-conflict-bottom": "Mangga pilih jeneng panganggo liyané.",
+ "antispoof-conflict-bottom": "Sumangga pilih jeneng naraguna liyané.",
"antispoof-name-illegal": "Jeneng \"$1\" ora diidinaké supaya wong ora bingung utawa menggak ngapi-api jeneng panganggo sing wis ana: $2.\nMangga pilihen jeneng liya.",
"antispoof-badtype": "Tipe data salah",
"antispoof-empty": "Data kosong",
diff --git a/AntiSpoof/i18n/ka.json b/AntiSpoof/i18n/ka.json
index cfb3ece3..c6a4e5a8 100644
--- a/AntiSpoof/i18n/ka.json
+++ b/AntiSpoof/i18n/ka.json
@@ -5,8 +5,8 @@
"BRUTE",
"David1010",
"Nodar Kherkheulidze",
- "Tokoko",
- "OpusDEI"
+ "OpusDEI",
+ "Tokoko"
]
},
"antispoof-desc": "ბლოკავს ახალი ანგარიშების გახსნას შერეული სკრიპტით, შეცდომითი და ერთიდაიგივე მომხმარებლის სახელების შეთხვევაში",
@@ -25,9 +25,5 @@
"antispoof-tooshort": "ნორმალიზებული სახელი ძალიან მოკლეა",
"antispoof-ignore": "მსგავს სახელებზე შემოწმების ინგნორირება",
"antispoof-ignore-help": "საკმარისი უფლებამოსილების მქონე მომხმარებლებს უფლებას აძლევს შექმნან ანგარიში მაშინაც კი, როცა ეს სახელი უკვე არსებული ანგარიშის სახელის მსგავსია.",
- "right-override-antispoof": "მსგავსი სახელების შემოწმების უგულებელყოფა",
- "apihelp-antispoof-description": "მომხმარებლის შემოწმება AntiSpoof-ის ნორმალიზაციით.",
- "apihelp-antispoof-param-username": "მომხმარებელი, რომელიც უნდა შემოწმდეს AntiSpoof-ზე.",
- "apihelp-antispoof-example-1": "შეამოწმეთ მომხმარებელი \"Foo\" AntiSpoof-ზე",
- "apihelp-createaccount-param-ignoreantispoof": "მსგავს სახელებზე შემოწმების იგნორირება (მოითხოვს უფლებებს <code>override-antispoof</code> right)."
+ "right-override-antispoof": "მსგავსი სახელების შემოწმების უგულებელყოფა"
}
diff --git a/AntiSpoof/i18n/khw.json b/AntiSpoof/i18n/khw.json
index 69b696bf..579a7ead 100644
--- a/AntiSpoof/i18n/khw.json
+++ b/AntiSpoof/i18n/khw.json
@@ -5,5 +5,6 @@
]
},
"antispoof-badtype": "شوم اعداد و شمارو قسم",
- "antispoof-empty": "خالی تار"
+ "antispoof-empty": "خالی تار",
+ "antispoof-blacklisted": "بلیک لسٹ علامت $1 پر مشتمل"
}
diff --git a/AntiSpoof/i18n/kk-arab.json b/AntiSpoof/i18n/kk-arab.json
index 83283b81..c6b48515 100644
--- a/AntiSpoof/i18n/kk-arab.json
+++ b/AntiSpoof/i18n/kk-arab.json
@@ -1,5 +1,7 @@
{
- "@metadata": [],
+ "@metadata": {
+ "authors": []
+ },
"antispoof-name-illegal": "قاتىسۋشى اتى شاتاقتاۋىن نەمەسە قالجىنداۋىن بٶگەۋ ٷشٸن «$1» اتاۋى رۇقسات ەتٸلمەيدٸ: $2. باسقا اتاۋ تاڭداڭىز.",
"antispoof-badtype": "جارامسىز دەرەك تٷرٸ",
"antispoof-empty": "بوس جول",
diff --git a/AntiSpoof/i18n/kk-latn.json b/AntiSpoof/i18n/kk-latn.json
index b0669efb..a5834b9b 100644
--- a/AntiSpoof/i18n/kk-latn.json
+++ b/AntiSpoof/i18n/kk-latn.json
@@ -1,5 +1,7 @@
{
- "@metadata": [],
+ "@metadata": {
+ "authors": []
+ },
"antispoof-name-illegal": "Qatıswşı atı şataqtawın nemese qaljındawın bögew üşin «$1» atawı ruqsat etilmeýdi: $2. Basqa ataw tañdañız.",
"antispoof-badtype": "Jaramsız derek türi",
"antispoof-empty": "Bos jol",
diff --git a/AntiSpoof/i18n/km.json b/AntiSpoof/i18n/km.json
index 8971f5f0..2983b483 100644
--- a/AntiSpoof/i18n/km.json
+++ b/AntiSpoof/i18n/km.json
@@ -7,6 +7,7 @@
"គីមស៊្រុន"
]
},
+ "antispoof-desc": "ហាមឃាត់មិនអោយបង្កើតគណនីដែលមានអត្តនាមប្រើតួអក្សរលាយឡំ ស្រដៀងនិងងាយច្រឡំជាមួយអត្តនាមមានហើយ",
"antispoof-conflict-top": "អត្តនាម \"$1\" នេះគឺស្រដៀងគ្នានឹង {{PLURAL:$2|អត្តនាម|អត្តនាម}}ខាងក្រោម ពេកហើយ ៖",
"antispoof-conflict-bottom": "សូមជ្រើសរើសអត្តនាមផ្សេងមួយទៀត។",
"antispoof-name-illegal": "អត្តនាម \"$1\" មិនត្រូវបានឱ្យបង្កើតទេ ដើម្បីកុំឱ្យច្រឡំជាមួយនឹងអត្តនាម៖ $2។\n\nសូមជ្រើសរើសអត្តនាមផ្សេងមួយទៀត។",
diff --git a/AntiSpoof/i18n/kn.json b/AntiSpoof/i18n/kn.json
index 6eeba99d..5646ebfd 100644
--- a/AntiSpoof/i18n/kn.json
+++ b/AntiSpoof/i18n/kn.json
@@ -2,9 +2,9 @@
"@metadata": {
"authors": [
"Abhirama",
- "VASANTH S.N.",
+ "Ananth subray",
"Omshivaprakash",
- "Ananth subray"
+ "VASANTH S.N."
]
},
"antispoof-conflict-bottom": "ಇನ್ನೊಂದು ಹೆಸರನ್ನು ಆಯ್ಕೆ ಮಾಡಿ.",
diff --git a/AntiSpoof/i18n/ko.json b/AntiSpoof/i18n/ko.json
index 8a11562e..bf774b95 100644
--- a/AntiSpoof/i18n/ko.json
+++ b/AntiSpoof/i18n/ko.json
@@ -1,12 +1,13 @@
{
"@metadata": {
"authors": [
+ "Jango",
"Klutzy",
"Kwj2772",
- "ToePeu",
- "아라",
"Revi",
- "Ykhwong"
+ "ToePeu",
+ "Ykhwong",
+ "아라"
]
},
"antispoof-desc": "여러 문자 체계를 섞은 이름이나, 혼동될 수 있고 비슷한 이름의 계정 만들기를 차단합니다",
@@ -24,10 +25,6 @@
"antispoof-tooshort": "정규화된 이름이 너무 짧습니다",
"antispoof-ignore": "안티스푸프 검사를 무시",
"antispoof-ignore-help": "충분한 권한을 가진 사용자가 새 계정이 이미 존재하는 계정과 비슷하더라도 새 계정을 만들 수 있도록 합니다",
- "right-override-antispoof": "혼란을 줄 수 있는 사용자 이름 금지(안티스푸프)를 무시",
- "apihelp-antispoof-description": "안티스푸프의 표준화 검사를 사용하여 사용자명을 검사합니다.",
- "apihelp-antispoof-summary": "안티스푸프의 표준화 검사를 사용하여 사용자명을 검사합니다.",
- "apihelp-antispoof-param-username": "안티스푸프로 검색할 사용자명",
- "apihelp-antispoof-example-1": "사용자 이름 \"길동\"을 안티스푸프로 검사",
- "apihelp-createaccount-param-ignoreantispoof": "스푸핑 체크 무시 (<code>override-antispoof<code> 권한 필요)"
+ "action-override-antispoof": "스푸핑 검사를 무시합니다",
+ "right-override-antispoof": "혼란을 줄 수 있는 사용자 이름 금지(안티스푸프)를 무시"
}
diff --git a/AntiSpoof/i18n/krc.json b/AntiSpoof/i18n/krc.json
index 127a5627..6eb218e7 100644
--- a/AntiSpoof/i18n/krc.json
+++ b/AntiSpoof/i18n/krc.json
@@ -1,8 +1,8 @@
{
"@metadata": {
"authors": [
- "Iltever",
- "Ernác"
+ "Ernác",
+ "Iltever"
]
},
"antispoof-ignore": "Ушаш атланы тинтиуге эс бёлме"
diff --git a/AntiSpoof/i18n/ksh.json b/AntiSpoof/i18n/ksh.json
index 298c1674..86030626 100644
--- a/AntiSpoof/i18n/ksh.json
+++ b/AntiSpoof/i18n/ksh.json
@@ -19,8 +19,5 @@
"antispoof-mixedscripts": "He sin Zeichesätz jemesch.",
"antispoof-tooshort": "Dä vereinheitlechte Name es zo koot.",
"antispoof-ignore": "Donn de Prööfonge jäje et Name-Nohmaache övverjonn",
- "right-override-antispoof": "Prööfonge jäje et Name-Nohmaache (<i lang=\"en\">Anti-Spoofing</i>) övverjonn",
- "apihelp-antispoof-description": "Donn de Nahme vun de Metmaacher jähje dem <i lang=\"en\" xml:lang=\"en\">AntiSpoof</i> sing Nommallisehronge prööve.",
- "apihelp-antispoof-param-username": "Dä Nahme zom pröhve jähje dem <i lang=\"en\" xml:lang=\"en\">AntiSpoof</i> sing Nommallisehrong.",
- "apihelp-antispoof-example-1": "Donn dä Nahme <i lang=\"en\" xml:lang=\"en\">Foo</i> jähje dem <i lang=\"en\" xml:lang=\"en\">AntiSpoof</i> sing Nommallisehronge pröhve."
+ "right-override-antispoof": "Prööfonge jäje et Name-Nohmaache (<i lang=\"en\">Anti-Spoofing</i>) övverjonn"
}
diff --git a/AntiSpoof/i18n/lb.json b/AntiSpoof/i18n/lb.json
index f013d34f..4bc47c06 100644
--- a/AntiSpoof/i18n/lb.json
+++ b/AntiSpoof/i18n/lb.json
@@ -2,13 +2,14 @@
"@metadata": {
"authors": [
"Les Meloures",
- "Robby"
+ "Robby",
+ "Soued031"
]
},
"antispoof-desc": "Verhënnert d'Opmaache vu Benotzerkonte mat gemëschten Zeechesätz, mat gelungene Benotzernimm oder mat Benotzernimm déi zu Verwiesselunge féiere kéinten.",
- "antispoof-conflict-top": "De Benotzernumm \"$1\" ass ze ähnlech mat {{PLURAL:$2|dësem Benotzernumm|dëse Benotzernimm}}:",
- "antispoof-conflict-bottom": "Wielt w.e.g. en anere Benotzernumm.",
- "antispoof-name-illegal": "De Benotzernumm \"$1\" ass net erlaabt fir Verwiesslungen oder Verschleierungen vu Benotzernimm ze verhënneren: $2.\n\nSicht iech w.e.g. een anere Benotzernumm.",
+ "antispoof-conflict-top": "De Benotzernumm \"$1\" ass ze änlech mat {{PLURAL:$2|dësem Benotzernumm|dëse Benotzernimm}}:",
+ "antispoof-conflict-bottom": "Wielt wgl. en anere Benotzernumm.",
+ "antispoof-name-illegal": "De Benotzernumm \"$1\" ass net erlaabt fir Verwiesslungen oder Verschleierungen vu Benotzernimm ze verhënneren: $2.\n\nSicht iech wgl. een anere Benotzernumm.",
"antispoof-badtype": "Ongültegt Fichiers-Format (bad data type)",
"antispoof-empty": "Eidelt Feld",
"antispoof-blacklisted": "Verbueden Zeechen (Caractèren): $1",
@@ -18,6 +19,6 @@
"antispoof-noletters": "Et si keng Buschtawen dran.",
"antispoof-mixedscripts": "Et si gemëschte Skripten dran, déi net kompatibel sinn",
"antispoof-tooshort": "Normaliséierten Numm ze kuerz",
- "antispoof-ignore": "Keng Kontroll op ähnlech Benotzernimm",
+ "antispoof-ignore": "Keng Kontroll op änlech Benotzernimm",
"right-override-antispoof": "D'Resultat vun der Iwwerpréifung no ähnleche Benotzernimm ignoréieren"
}
diff --git a/AntiSpoof/i18n/li.json b/AntiSpoof/i18n/li.json
index a2dc0d34..c1617f0e 100644
--- a/AntiSpoof/i18n/li.json
+++ b/AntiSpoof/i18n/li.json
@@ -20,10 +20,5 @@
"antispoof-tooshort": "Aafgekorte naam te kort",
"antispoof-ignore": "Spoofcontroles negere",
"antispoof-ignore-help": "Laot gebroekers mit zat rechte toe veur 'nen account aan te make, zelfs es deze naam op 'ne bestäöndje accountsnaam liek.",
- "right-override-antispoof": "Spoofkonträöl negere",
- "apihelp-antispoof-description": "Num 'ne gebroekersnaam inne normaliseringscontrole van AntiSpoof op.",
- "apihelp-antispoof-summary": "Num 'ne gebroekersnaam inne normaliseringscontrole van AntiSpoof op.",
- "apihelp-antispoof-param-username": "De gebroekersnaam veur op te numme mit AntiSpoof.",
- "apihelp-antispoof-example-1": "De gebroekersnaam \"Foo\" opnumme mit AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Negeer spoofcontroles (vereisj 't rech <code>override-antispoof</code>)."
+ "right-override-antispoof": "Spoofkonträöl negere"
}
diff --git a/AntiSpoof/i18n/lij.json b/AntiSpoof/i18n/lij.json
index 771817e7..b5e83f28 100644
--- a/AntiSpoof/i18n/lij.json
+++ b/AntiSpoof/i18n/lij.json
@@ -5,9 +5,9 @@
]
},
"antispoof-desc": "O l'impedisce a creaçion di nommi utente con di carattei mescci e di nommi utente che genneran confuxon ò troppo scimmili tra lô.",
- "antispoof-conflict-top": "O nomme \"$1\" o l'è troppo scimmile {{PLURAL:$2|a-o seguente nomme utente|a-i seguenti nommi utente}}:",
- "antispoof-conflict-bottom": "Çerni un atro nomme.",
- "antispoof-name-illegal": "O nomme utente \"$1\" o no l'è consentio, pe evitâ confuxon ò gazibbe: $2. Pe piaxei çerni un atro nomme.",
+ "antispoof-conflict-top": "O nomme utente \"$1\" o l'è troppo scimmile {{PLURAL:$2|a-o seguente nomme|a-i seguenti nommi}} utente:",
+ "antispoof-conflict-bottom": "Çerni un atro nomme utente.",
+ "antispoof-name-illegal": "O nomme utente \"$1\" o no l'è consentio, pe evitâ confuxon ò gazibbe: $2. Pe piaxei çerni un atro nomme utente.",
"antispoof-badtype": "Tipo de dæti errou",
"antispoof-empty": "Stringa vœua",
"antispoof-blacklisted": "O conten o carattere non consentio $1",
@@ -16,12 +16,9 @@
"antispoof-deprecated": "O conten o carattere deprecou $1",
"antispoof-noletters": "Assença de lettie",
"antispoof-mixedscripts": "Combinaçion de scistemi de scrittua non compatibbili",
- "antispoof-tooshort": "Nomme in forma canonnega troppo curto",
+ "antispoof-tooshort": "Nomme normalizou troppo curto",
"antispoof-ignore": "Ignora i controlli pe spoofing",
"antispoof-ignore-help": "O consente a-i utenti con privileggi bastanti de creâ un'utença, sci ben che o so nomme o l'è scimmile a quello de 'n'atra za existente.",
- "right-override-antispoof": "Ignora i controlli anti-spoofing",
- "apihelp-antispoof-description": "Controlla un nomme utente co-e veriffiche de normalizaçion AntiSpoof.",
- "apihelp-antispoof-param-username": "O nomme utente da veificâ co l'AntiSpoof.",
- "apihelp-antispoof-example-1": "Controlla o nomme utente \"Foo\" con AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignora i controlli anti-spoofing (ghe vœu o drito <code>override-antispoof</code>)"
+ "action-override-antispoof": "ignora i controlli anti-gazibba",
+ "right-override-antispoof": "Ignora i controlli anti-spoofing"
}
diff --git a/AntiSpoof/i18n/lki.json b/AntiSpoof/i18n/lki.json
index 7c20e78b..5ce2991a 100644
--- a/AntiSpoof/i18n/lki.json
+++ b/AntiSpoof/i18n/lki.json
@@ -18,8 +18,5 @@
"antispoof-mixedscripts": "حاوی نویسه‌های مختلط ناسازگار است",
"antispoof-tooshort": "نام متعارف خیلی کوتاه است",
"antispoof-ignore": "نادیده‌گرفتن بررسی عبارات سردرگم‌کننده",
- "right-override-antispoof": "گذر از بررسی عبارات سردرگم‌کننده",
- "apihelp-antispoof-description": "بررسی یک نام‌ کاربری بر طبق نرمال‌سازی‌های ضدجعل.",
- "apihelp-antispoof-param-username": "نام کاربری‌ای که با ضدجعل بررسی می‌شود.",
- "apihelp-antispoof-example-1": "بررسی نام کاربر «Foo» با ضدجعل"
+ "right-override-antispoof": "گذر از بررسی عبارات سردرگم‌کننده"
}
diff --git a/AntiSpoof/i18n/lo.json b/AntiSpoof/i18n/lo.json
index 193dc505..03f84755 100644
--- a/AntiSpoof/i18n/lo.json
+++ b/AntiSpoof/i18n/lo.json
@@ -1,5 +1,7 @@
{
- "@metadata": [],
+ "@metadata": {
+ "authors": []
+ },
"antispoof-name-illegal": "ບໍ່ສາມາດອະນຸຍາດ ຊື່ \"$1\" ໄດ້ ເພີ່ມຫຼີກລ້ຽງ ການສັບສົນ ກັບ : $2. ກະລຸນາເລືອກຊື່ອື່ນ.",
"antispoof-badtype": "ປະເພດ ຂໍ້ມູນ ບໍ່ຖືກຕ້ອງ",
"antispoof-empty": "ບໍ່ມີໂຕໜັງສື",
diff --git a/AntiSpoof/i18n/lrc.json b/AntiSpoof/i18n/lrc.json
index 1f6f566d..7d8daa38 100644
--- a/AntiSpoof/i18n/lrc.json
+++ b/AntiSpoof/i18n/lrc.json
@@ -19,8 +19,5 @@
"antispoof-mixedscripts": "شومل نیسه یا شی وسه ناسازگار",
"antispoof-tooshort": "نوم قانونی فره کؤچک هئ",
"antispoof-ignore": "د نظر نگرتن وارسیا الکی",
- "right-override-antispoof": "باطل کردن وارسیا الکی",
- "apihelp-antispoof-description": "وارسی یه گل نوم کاریاری سی وارسی نرمال بیین نها ضد اسپوف.",
- "apihelp-antispoof-param-username": "وارسی نوم کاریاری سی جستن ضداسپوف.",
- "apihelp-antispoof-example-1": "نوم کاریاری \"فو\" نه سی ضد اسپوف وارسی بکیت"
+ "right-override-antispoof": "باطل کردن وارسیا الکی"
}
diff --git a/AntiSpoof/i18n/lt.json b/AntiSpoof/i18n/lt.json
index a84271db..85afaadf 100644
--- a/AntiSpoof/i18n/lt.json
+++ b/AntiSpoof/i18n/lt.json
@@ -1,13 +1,13 @@
{
"@metadata": {
"authors": [
+ "Albertas",
"Eitvys200",
"Garas",
"Homo",
"Ignas693",
- "Perkunas",
- "Albertas",
- "Manvydasz"
+ "Manvydasz",
+ "Perkunas"
]
},
"antispoof-desc": "Blokuoja kūrimą paskyrų, turinčių maišyto scenarijaus, klaidinančius ar panašius naudotojų vardus",
@@ -25,9 +25,5 @@
"antispoof-tooshort": "Kanonizuotas vardas per trumpas",
"antispoof-ignore": "Nepaisyti „spoofing“ patikrinimų",
"antispoof-ignore-help": "Leidžia vartotojams, turintiems pakankamai teisių, sukurti paskyrą, net jei jos vardas yra panašus į kitos paskyros.",
- "right-override-antispoof": "Nepaisyti „spoofing“ patikrinimų",
- "apihelp-antispoof-description": "Patikrinti, ar naudotojo vardas atitinka AntiSpoof's normalizavimo patikras.",
- "apihelp-antispoof-param-username": "Naudotojo vardas, kuriam atlikti AntiSpoof patikrą.",
- "apihelp-antispoof-example-1": "Patikrinti naudotojo vardą \"Foo\" su AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignoruoti pokštavimo patikras (reikalingos <code>override-antispoof</code> teisės)."
+ "right-override-antispoof": "Nepaisyti „spoofing“ patikrinimų"
}
diff --git a/AntiSpoof/i18n/lv.json b/AntiSpoof/i18n/lv.json
index 022a7a7c..c95581f8 100644
--- a/AntiSpoof/i18n/lv.json
+++ b/AntiSpoof/i18n/lv.json
@@ -6,7 +6,7 @@
]
},
"antispoof-desc": "Bloķē kontu izveidi ar jauktas rakstības, mulsinošiem un līdzīgiem lietotājvārdiem",
- "antispoof-conflict-top": "Nosaukums \"$1\" ir pārāk līdzīgs {{PLURAL:$2|esošajam kontam|šiem $2 kontiem}}:",
+ "antispoof-conflict-top": "Lietotājvārds \"$1\" ir pārāk līdzīgs {{PLURAL:$2|šiem $2 kontiem|šim $2 kontam|šiem $2 kontiem}}:",
"antispoof-conflict-bottom": "Lūdzu, izvēlies citu lietotājvārdu.",
"antispoof-badtype": "Nederīgs datu tips",
"antispoof-empty": "Tukša virkne",
diff --git a/AntiSpoof/i18n/map-bms.json b/AntiSpoof/i18n/map-bms.json
index 631460d0..d9670c1e 100644
--- a/AntiSpoof/i18n/map-bms.json
+++ b/AntiSpoof/i18n/map-bms.json
@@ -1,9 +1,9 @@
{
"@metadata": {
"authors": [
+ "Mbrt",
"StefanusRA",
- "Umherirrender",
- "Mbrt"
+ "Umherirrender"
]
},
"antispoof-desc": "Menggak nggawé akun sing jeneng panganggone nganggo aksara campuran, mbingungna lan sing mèmper",
diff --git a/AntiSpoof/i18n/mk.json b/AntiSpoof/i18n/mk.json
index 50669109..5089a8f5 100644
--- a/AntiSpoof/i18n/mk.json
+++ b/AntiSpoof/i18n/mk.json
@@ -1,7 +1,8 @@
{
"@metadata": {
"authors": [
- "Bjankuloski06"
+ "Bjankuloski06",
+ "Vlad5250"
]
},
"antispoof-desc": "Блокира создавање на сметки со имиња од мешани писма/азбуки, кои личат на други кориснички имиња и со тоа создаваат забуни",
@@ -13,17 +14,13 @@
"antispoof-empty": "Празна низа",
"antispoof-blacklisted": "Го содржи забранетиот знак $1",
"antispoof-combining": "Започнува со составниот знак $1",
- "antispoof-unassigned": "Содржи неопределен или застарен знак",
+ "antispoof-unassigned": "Содржи неопределен знак $1",
"antispoof-deprecated": "Го содржи застарениот знак $1",
"antispoof-noletters": "Не содржи букви",
"antispoof-mixedscripts": "Содржи нескладни мешани писма/азбуки",
"antispoof-tooshort": "Нормализираното име е прекратко",
"antispoof-ignore": "Занемари меѓусебно слични имиња",
"antispoof-ignore-help": "Им овозможува на корисниците со достатни права да создаваат сметки дури и кога имињата им се слични на постоечки.",
- "right-override-antispoof": "Прескокнување на проверките за меѓусебно слични имиња",
- "apihelp-antispoof-description": "Проверете корисничко име со нормализациската проверка на AntiSpoof.",
- "apihelp-antispoof-summary": "Проверете го корисничко име со нормализациската проверка на AntiSpoof.",
- "apihelp-antispoof-param-username": "Корисничко име за проверка со AntiSpoof.",
- "apihelp-antispoof-example-1": "Провери го корисничкото име „Foo“ со AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Занемари ги проверките за забуна на имињата (го бара правото <code>override-antispoof</code>)."
+ "action-override-antispoof": "презапишување врз меѓусебно сличните имиња",
+ "right-override-antispoof": "Прескокнување на проверките за меѓусебно слични имиња"
}
diff --git a/AntiSpoof/i18n/ml.json b/AntiSpoof/i18n/ml.json
index d210cf65..1ff9209f 100644
--- a/AntiSpoof/i18n/ml.json
+++ b/AntiSpoof/i18n/ml.json
@@ -19,9 +19,7 @@
"antispoof-mixedscripts": "പൊരുത്തക്കേടുള്ള സങ്കരലിപികൾ ഉൾപ്പെടുന്നു",
"antispoof-tooshort": "ചട്ടപ്പടിയാക്കിയ പേര് വളരെ ചെറുതാണ്",
"antispoof-ignore": "സ്പൂഫിങ് പരിശോധനകൾ അവഗണിക്കുക",
- "right-override-antispoof": "സ്പൂഫിങ് പരിശോധനകൾ അതിലംഘിക്കുക",
- "apihelp-antispoof-description": "കബളിപ്പിക്കൽ തടയൽ നോർമലൈസേഷൻ പരിശോധനകൾക്കൊപ്പം ഉപയോക്തൃനാമം പരിശോധിക്കുക.",
- "apihelp-antispoof-param-username": "കബളിപ്പിക്കൽ തടയൽ പരിശോധനയിൽ ഉപയോഗിക്കേണ്ട ഉപയോക്തൃനാമം.",
- "apihelp-antispoof-example-1": "കബളിപ്പിക്കൽ തടയൽ പരിശോധനയിൽ \"Foo\" എന്ന ഉപയോക്തൃനാമം പരിശോധിക്കുക",
- "apihelp-createaccount-param-ignoreantispoof": "ആൾമാറാട്ട പരിശോധനകൾ അവഗണിക്കുക (<code>override-antispoof</code> അവകാശം വേണം)."
+ "antispoof-ignore-help": "ആവശ്യത്തിന് വിശേഷാധികാരമുള്ള ഉപയോക്താക്കളെ നിലവിലുള്ള അംഗത്വത്തിനു സമാനമായ പേരിൽ ഒരംഗത്വം ഉണ്ടാക്കാൻ അനുവദിക്കുക.",
+ "action-override-antispoof": "സ്പൂഫിങ് പരിശോധനകൾ അതിലംഘിക്കുക",
+ "right-override-antispoof": "സ്പൂഫിങ് പരിശോധനകൾ അതിലംഘിക്കുക"
}
diff --git a/AntiSpoof/i18n/mni.json b/AntiSpoof/i18n/mni.json
index bb0e642a..4b461cfe 100644
--- a/AntiSpoof/i18n/mni.json
+++ b/AntiSpoof/i18n/mni.json
@@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
+ "Amire80",
"Awangba Mangang"
]
},
@@ -19,10 +20,5 @@
"antispoof-tooshort": "ꯃꯤꯡꯁꯤ ꯌꯥꯝ ꯇꯦꯟꯂꯦ ꯆꯥꯡ ꯱ꯗꯥ ꯏꯌꯨ",
"antispoof-ignore": "Ignore spoofing checks",
"antispoof-ignore-help": "Allows users with sufficient privileges to create an account even if its name is similar to that of an existing account.",
- "right-override-antispoof": "Override the spoofing checks",
- "apihelp-antispoof-description": "Check a username against AntiSpoof's normalisation checks.",
- "apihelp-antispoof-summary": "Check a username against AntiSpoof's normalisation checks.",
- "apihelp-antispoof-param-username": "The username to check against AntiSpoof.",
- "apihelp-antispoof-example-1": "Check username \"Foo\" against AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignore spoofing checks (requires the <code>override-antispoof</code> right)."
+ "right-override-antispoof": "Override the spoofing checks"
}
diff --git a/AntiSpoof/i18n/mnw.json b/AntiSpoof/i18n/mnw.json
new file mode 100644
index 00000000..fa20e0c0
--- /dev/null
+++ b/AntiSpoof/i18n/mnw.json
@@ -0,0 +1,9 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aue Nai"
+ ]
+ },
+ "antispoof-conflict-bottom": "သ္ပဂုဏ်တုဲ ထပ်ရုဲစှ် ယၟုညးလွပ် တၞဟ်ခြာမွဲ.",
+ "antispoof-badtype": "ဂကူ ဒေတာ မပရေအ်"
+}
diff --git a/AntiSpoof/i18n/ms.json b/AntiSpoof/i18n/ms.json
index 6c6901c2..2df5e100 100644
--- a/AntiSpoof/i18n/ms.json
+++ b/AntiSpoof/i18n/ms.json
@@ -3,13 +3,14 @@
"authors": [
"Anakmalaysia",
"Aurora",
- "Aviator"
+ "Aviator",
+ "CyberTroopers"
]
},
"antispoof-desc": "Menyekat pembukaan akaun dengan nama pengguna yang mengelirukan, menyerupai orang lain, atau terdiri daripada campuran sistem-sistem tulisan yang berlainan",
- "antispoof-conflict-top": "Nama \"$1\" menyerupai {{PLURAL:$2|nama pengguna|nama pengguna}} berikut:",
- "antispoof-conflict-bottom": "Sila pilih nama lain.",
- "antispoof-name-illegal": "Nama \"$1\" tidak dibenarkan kerana mengelirukan atau menipu: $2. Sila pilih nama lain.",
+ "antispoof-conflict-top": "Nama pengguna \"$1\" menyerupai {{PLURAL:$2|nama pengguna|nama pengguna}} berikut:",
+ "antispoof-conflict-bottom": "Sila pilih nama pengguna lain.",
+ "antispoof-name-illegal": "Nama pengguna \"$1\" tidak dibenarkan kerana mengelirukan atau menipu: $2. Sila pilih nama pengguna lain.",
"antispoof-badtype": "Jenis data salah",
"antispoof-empty": "Rentetan kosong",
"antispoof-blacklisted": "Mengandungi aksara $1 yang telah disenaraihitamkan",
@@ -20,5 +21,7 @@
"antispoof-mixedscripts": "Mengandungi campuran sistem-sistem tulisan yang tidak bersesuaian",
"antispoof-tooshort": "Nama berkanun terlalu pendek",
"antispoof-ignore": "Abaikan pemeriksaan penipuan",
+ "antispoof-ignore-help": "Membenarkan pengguna dengan hak mencukupi untuk mencipta sebuah akaun walaupun namanya mirip dengan akaun sedia ada.",
+ "action-override-antispoof": "pembatalan pemeriksaan penipuan",
"right-override-antispoof": "Mengatasi pemeriksaan penipuan"
}
diff --git a/AntiSpoof/i18n/nah.json b/AntiSpoof/i18n/nah.json
index 3aa11e2d..12eaa85c 100644
--- a/AntiSpoof/i18n/nah.json
+++ b/AntiSpoof/i18n/nah.json
@@ -1,8 +1,8 @@
{
"@metadata": {
"authors": [
- "Fluence",
- "Akapochtli"
+ "Akapochtli",
+ "Fluence"
]
},
"antispoof-badtype": "Ahcualli tlahcuiloliztli"
diff --git a/AntiSpoof/i18n/nap.json b/AntiSpoof/i18n/nap.json
index 22468276..576004ea 100644
--- a/AntiSpoof/i18n/nap.json
+++ b/AntiSpoof/i18n/nap.json
@@ -20,9 +20,5 @@
"antispoof-tooshort": "Nomme canonizzato troppo curto",
"antispoof-ignore": "Lassa perdere 'e check pe' spoofing (mbruoglie)",
"antispoof-ignore-help": "Premmettesse a ll'editure ch' 'e privilegge 'e crià nu cunto pure si 'o nomme assumigliass'a nu cunto ch'esiste già.",
- "right-override-antispoof": "Sovrascrive 'e check pe' spoofing (mbruoglie)",
- "apihelp-antispoof-description": "Cuntrolla nu nomme utente a cunfronto ch' 'e cuntrolle 'e normalizzaziona 'AntiSpoof.",
- "apihelp-antispoof-param-username": "Nomme utente ca s'avesse 'e cuntrullà d'AntiSpoof.",
- "apihelp-antispoof-example-1": "Cuntrolla nomme utente \"Foo\" d'AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Lasse perdere le verifiche de spoofing (vole 'u deritte <code>override-antispoof</code>)."
+ "right-override-antispoof": "Sovrascrive 'e check pe' spoofing (mbruoglie)"
}
diff --git a/AntiSpoof/i18n/nb.json b/AntiSpoof/i18n/nb.json
index a3ecdab7..baba8041 100644
--- a/AntiSpoof/i18n/nb.json
+++ b/AntiSpoof/i18n/nb.json
@@ -1,9 +1,9 @@
{
"@metadata": {
"authors": [
+ "Chameleon222",
"Dittaeva",
"Event",
- "Chameleon222",
"Jon Harald Søby"
]
},
@@ -22,10 +22,6 @@
"antispoof-tooshort": "Normalisert navn er for kort",
"antispoof-ignore": "Ignorer misbrukssjekk",
"antispoof-ignore-help": "Lar brukere med tilstrekkelige rettigheter opprette en konto selv om navnet ligner på en eksisterende konto.",
- "right-override-antispoof": "Overkjøre sjekk av brukernavn",
- "apihelp-antispoof-description": "Sjekker et brukernavn mot AntiSpoofs normaliseringskontroller.",
- "apihelp-antispoof-summary": "Sjekk et brukernavn mot AntiSpoofs normaliseringssjekker.",
- "apihelp-antispoof-param-username": "Brukernavnet som skal sjekkes mot AntiSpoof.",
- "apihelp-antispoof-example-1": "Sjekk brukernavn «Foo» mot AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignorer misbrukskontroller (krever rettigheten <code>override-antispoof</code>)."
+ "action-override-antispoof": "overstyre sjekk av brukernavn",
+ "right-override-antispoof": "Overkjøre sjekk av brukernavn"
}
diff --git a/AntiSpoof/i18n/ne.json b/AntiSpoof/i18n/ne.json
index fdd7d8fb..9f7b37b6 100644
--- a/AntiSpoof/i18n/ne.json
+++ b/AntiSpoof/i18n/ne.json
@@ -3,18 +3,19 @@
"authors": [
"Bhawani Gautam",
"Bhawani Gautam Rhk",
- "सरोज कुमार ढकाल",
- "राम प्रसाद जोशी"
+ "Nirajan pant",
+ "राम प्रसाद जोशी",
+ "सरोज कुमार ढकाल"
]
},
"antispoof-desc": "भ्रामक तथा एकै प्रकारका प्रयोगकर्ता नामहरू, मिश्रित-स्क्रिप्ट भएका खाताहरू बनाउनमाथि रोक लगाउने",
"antispoof-conflict-top": " \"$1\" नाम {{PLURAL:$2|वर्तमान खाता|निम्नलिखित $2 खाताहरू}}सँग धेरै मिल्न जान्छ :",
- "antispoof-conflict-bottom": "कृपया अर्को नाम छान्नुहोस्।",
+ "antispoof-conflict-bottom": "कृपया अर्को प्रयोगकर्तानाम छान्नुहोस्।",
"antispoof-name-illegal": "$2 भ्रामक र जाली प्रयोगकर्ता नामको रोकथामको निम्ति \"$1\" नामलाई अनुमति छैन।\nकृपया अर्को नाम छान्नुहोस्।",
"antispoof-badtype": "अमान्य आँकड़ा प्रकार",
"antispoof-empty": "रिक्त रज्जु (string)",
"antispoof-blacklisted": "कालो सुचीमा रहेको वर्ण $1 रहेको छ",
- "antispoof-combining": "संयोजन चिन्हबाट सुरु हुने",
+ "antispoof-combining": "संयोजन चिन्ह $1 बाट शुरू हुन्छ",
"antispoof-noletters": "कुनै अक्षरहरु नभएको",
"antispoof-mixedscripts": "असंगत मिश्रित लिपिहरू सम्मिलित गरिएको",
"antispoof-tooshort": "संक्षिप्त साह्रै छोटो नाम",
diff --git a/AntiSpoof/i18n/nl.json b/AntiSpoof/i18n/nl.json
index ade8ab0e..df2b8707 100644
--- a/AntiSpoof/i18n/nl.json
+++ b/AntiSpoof/i18n/nl.json
@@ -3,13 +3,13 @@
"authors": [
"AvatarTeam",
"Erwin",
- "HanV",
- "SPQRobin",
- "Siebrand",
"Esketti",
- "McDutchie",
+ "HanV",
"Mainframe98",
- "Mar(c)"
+ "Mar(c)",
+ "McDutchie",
+ "SPQRobin",
+ "Siebrand"
]
},
"antispoof-desc": "Blokkeert het aanmaken van gebruikersnamen in meerdere schriften, en verwarrende en gelijkende gebruikersnamen",
@@ -27,10 +27,6 @@
"antispoof-tooshort": "Afgekorte naam te kort",
"antispoof-ignore": "Controle op gelijkende gebruikersnamen negeren",
"antispoof-ignore-help": "Laat gebruikers met voldoende rechten toe om een account aan te maken, zelfs als deze naam op een bestaande accountnaam lijkt.",
- "right-override-antispoof": "Spoofcontroles negeren",
- "apihelp-antispoof-description": "Een gebruikersnaam controleren met de normaliseringscontrole van AntiSpoof.",
- "apihelp-antispoof-summary": "Een gebruikersnaam in de normaliseringscontrole van AntiSpoof opnemen.",
- "apihelp-antispoof-param-username": "De gebruikersnaam om met AntiSpoof te controleren.",
- "apihelp-antispoof-example-1": "De gebruikersnaam \"Foo\" controleren met AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Spoofcontroles negeren (vereist het recht <code>override-antispoof</code>)."
+ "action-override-antispoof": "spoofcontroles te negeren",
+ "right-override-antispoof": "Spoofcontroles negeren"
}
diff --git a/AntiSpoof/i18n/olo.json b/AntiSpoof/i18n/olo.json
index 2e724303..572ad2aa 100644
--- a/AntiSpoof/i18n/olo.json
+++ b/AntiSpoof/i18n/olo.json
@@ -1,8 +1,8 @@
{
"@metadata": {
"authors": [
- "Mashoi7",
- "Ilja.mos"
+ "Ilja.mos",
+ "Mashoi7"
]
},
"antispoof-conflict-top": "Nimi \"$1\" on liijakse yhtenjyttyine {{PLURAL:$2|tämän nimenke|nämmien nimienke}}:",
diff --git a/AntiSpoof/i18n/pl.json b/AntiSpoof/i18n/pl.json
index ddd75008..841f8c32 100644
--- a/AntiSpoof/i18n/pl.json
+++ b/AntiSpoof/i18n/pl.json
@@ -4,11 +4,12 @@
"BeginaFelicysym",
"Chrumps",
"Derbeth",
+ "Matma Rex",
"Mikołka",
+ "Rail",
+ "Railfail536",
"Sp5uhe",
- "Matma Rex",
- "Woytecr",
- "Railfail536"
+ "Woytecr"
]
},
"antispoof-desc": "Blokuje tworzenie kont użytkowników o nazwach podobnych do już istniejących lub dezorientujących",
@@ -26,10 +27,6 @@
"antispoof-tooshort": "Normalizowana nazwa użytkownika zbyt krótka",
"antispoof-ignore": "Ignoruj podobieństwo do istniejących nazw",
"antispoof-ignore-help": "Pozwala użytkownikom z określonymi uprawnieniami na utworzenie konta, nawet gdy jego nazwa jest podobna do istniejącego już konta.",
- "right-override-antispoof": "Brak ograniczenia przed zakładaniem kont o podobnych nazwach do już istniejących",
- "apihelp-antispoof-description": "Sprawdź nazwę użytkownika według kryteriów AntiSpoof.",
- "apihelp-antispoof-summary": "Sprawdź nazwę użytkownika według kryteriów AntiSpoof.",
- "apihelp-antispoof-param-username": "Nazwa użytkownika, którą sprawdzić za pomocą AntiSpoof.",
- "apihelp-antispoof-example-1": "Sprawdź nazwę użytkownika \"Foo\" za pomocą AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignoruj sprawdzenie podobieństwa nazwy (wymaga uprawnienia <code>override-antispoof</code>)."
+ "action-override-antispoof": "obchodzenia ograniczeń przed zakładaniem kont o podobnych nazwach do już istniejących",
+ "right-override-antispoof": "Brak ograniczenia przed zakładaniem kont o podobnych nazwach do już istniejących"
}
diff --git a/AntiSpoof/i18n/pms.json b/AntiSpoof/i18n/pms.json
index f86337cd..5415766c 100644
--- a/AntiSpoof/i18n/pms.json
+++ b/AntiSpoof/i18n/pms.json
@@ -20,8 +20,5 @@
"antispoof-mixedscripts": "Combinassion ëd sistema dë scritura ch'as peulo pa butesse ansema",
"antispoof-tooshort": "Butà an forma canònica lë stranòm a resta esagerà curt",
"antispoof-ignore": "Sàuta ij controj dë spoofing",
- "right-override-antispoof": "Ignora ij controj dë spoofing",
- "apihelp-antispoof-description": "Verifiché në stranòm contra le verìfiche ëd normalisassion d'AntiSpoof.",
- "apihelp-antispoof-param-username": "Lë stranòm da verifiché contra AntiSpoof.",
- "apihelp-antispoof-example-1": "Verifiché lë stranòm «Foo» contra AntiSpoof"
+ "right-override-antispoof": "Ignora ij controj dë spoofing"
}
diff --git a/AntiSpoof/i18n/pnb.json b/AntiSpoof/i18n/pnb.json
index 46abe0b6..7f44f77f 100644
--- a/AntiSpoof/i18n/pnb.json
+++ b/AntiSpoof/i18n/pnb.json
@@ -1,8 +1,8 @@
{
"@metadata": {
"authors": [
- "Khalid Mahmood",
- "Abbas dhothar"
+ "Abbas dhothar",
+ "Khalid Mahmood"
]
},
"antispoof-desc": "ایدے توں ملے جلے، سر پھرے تے رلدے خط آلے ورتن ناں بنن توں رک جاندے نیں",
diff --git a/AntiSpoof/i18n/pt-br.json b/AntiSpoof/i18n/pt-br.json
index 85dc670b..a6b9a0c2 100644
--- a/AntiSpoof/i18n/pt-br.json
+++ b/AntiSpoof/i18n/pt-br.json
@@ -1,18 +1,19 @@
{
"@metadata": {
"authors": [
+ "!Silent",
"Cainamarques",
"Caio1478",
+ "Dianakc",
+ "Eduardo Addad de Oliveira",
"Eduardo.mps",
+ "Felipe L. Ewald",
+ "He7d3r",
"Helder.wiki",
"Luckas",
"Rhaijin",
- "555",
- "He7d3r",
- "Dianakc",
- "!Silent",
"Trigonometria87",
- "Felipe L. Ewald"
+ 555
]
},
"antispoof-desc": "Impede a criação de contas com escrita mista, e nomes de usuário confusos e semelhantes",
@@ -31,10 +32,6 @@
"antispoof-tooshort": "Nome normalizado muito curto",
"antispoof-ignore": "Ignorar verificações de \"spoofing\"",
"antispoof-ignore-help": "Permite que os usuários com os privilégios necessários criem uma conta com nome seja semelhante ao de outra conta existente.",
- "right-override-antispoof": "Sobrepor verificações de spoofing",
- "apihelp-antispoof-description": "Verifica um nome de usuário contra verificações de normalização do AntiSpoof.",
- "apihelp-antispoof-summary": "Verifica um nome de usuário contra verificações de normalização do AntiSpoof.",
- "apihelp-antispoof-param-username": "O nome de usuário para verificar no AntiSpoof.",
- "apihelp-antispoof-example-1": "Verifica o nome de usuário \"Foo\" através do AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignorar as verificações de semelhança de nome (necessita do privilégio <code>override-antispoof</code>)."
+ "action-override-antispoof": "sobrepor verificações de spoofing",
+ "right-override-antispoof": "Sobrepor verificações de spoofing"
}
diff --git a/AntiSpoof/i18n/pt.json b/AntiSpoof/i18n/pt.json
index cb5e29be..b6b00df6 100644
--- a/AntiSpoof/i18n/pt.json
+++ b/AntiSpoof/i18n/pt.json
@@ -5,8 +5,8 @@
"Hamilton Abreu",
"Malafaya",
"Rhaijin",
- "Vitorvicentevalente",
- "Umherirrender"
+ "Umherirrender",
+ "Vitorvicentevalente"
]
},
"antispoof-desc": "Impede a criação de contas cujo nome de utilizador contenha misturas de alfabetos, ou seja confundível ou semelhante a outros existentes",
@@ -22,12 +22,8 @@
"antispoof-noletters": "Não contém letras",
"antispoof-mixedscripts": "Contém uma mistura de alfabetos incompatíveis",
"antispoof-tooshort": "Nome canónico demasiado curto",
- "antispoof-ignore": "Ignorar as verificações de semelhança de nomes (<i>spoofing</i>)",
+ "antispoof-ignore": "Ignorar as verificações de semelhança de nomes (''spoofing'')",
"antispoof-ignore-help": "Permite que os utilizadores com os privilégios necessários criem uma conta com nome seja semelhante ao de outra conta existente.",
- "right-override-antispoof": "Ultrapassar as verificações de semelhança de nome (<i>spoofing</i>)",
- "apihelp-antispoof-description": "Verificar um nome de utilizador contra as verificações de normalização do AntiSpoof.",
- "apihelp-antispoof-summary": "Verificar um nome de utilizador contra as verificações de normalização do AntiSpoof.",
- "apihelp-antispoof-param-username": "O nome de utilizador para verificação de semelhança de nome (AntiSpoof).",
- "apihelp-antispoof-example-1": "Verificar a semelhança de nome (AntiSpoof) do utilizador \"Foo\"",
- "apihelp-createaccount-param-ignoreantispoof": "Ignorar as verificações de semelhança de nome (necessita do privilégio <code>override-antispoof</code>)."
+ "action-override-antispoof": "contornar as verificações de semelhança de nomes (''spoofing'')",
+ "right-override-antispoof": "Contornar as verificações de semelhança de nomes (''spoofing'')"
}
diff --git a/AntiSpoof/i18n/qqq.json b/AntiSpoof/i18n/qqq.json
index f6baba28..21c34866 100644
--- a/AntiSpoof/i18n/qqq.json
+++ b/AntiSpoof/i18n/qqq.json
@@ -28,10 +28,6 @@
"antispoof-tooshort": "Reason for failed account creation.",
"antispoof-ignore": "This is a checkbox shown on [[Special:UserLogin|a signup page]] when a user with both [[MediaWiki:Right-createaccount/qqq|createaccount]] and [[MediaWiki:Right-override-antispoof/qqq|override-antispoof]] rights tries to register a new user account. It allows to register a username that would otherwise be blocked by the [[mw:Extension:AntiSpoof|AntiSpoof extension]].",
"antispoof-ignore-help": "API help message describing {{msg-mw|antispoof-ignore}}.",
- "right-override-antispoof": "{{doc-right|override-antispoof}}",
- "apihelp-antispoof-description": "{{doc-apihelp-description|antispoof}}",
- "apihelp-antispoof-summary": "{{doc-apihelp-summary|antispoof}}",
- "apihelp-antispoof-param-username": "{{doc-apihelp-param|antispoof|username}}",
- "apihelp-antispoof-example-1": "{{doc-apihelp-example|antispoof}}",
- "apihelp-createaccount-param-ignoreantispoof": "{{doc-apihelp-param|createaccount|ignoreantispoof}}"
+ "action-override-antispoof": "{{doc-action|override-antispoof}}",
+ "right-override-antispoof": "{{doc-right|override-antispoof}}"
}
diff --git a/AntiSpoof/i18n/ro.json b/AntiSpoof/i18n/ro.json
index dfa30204..11716db3 100644
--- a/AntiSpoof/i18n/ro.json
+++ b/AntiSpoof/i18n/ro.json
@@ -23,9 +23,5 @@
"antispoof-mixedscripts": "Conține mai multe scripturi incompatibile",
"antispoof-tooshort": "Nume normalizat prea scurt",
"antispoof-ignore": "Nu verifica existența unor nume de cont similare",
- "right-override-antispoof": "Trece peste verificările de spoofing",
- "apihelp-antispoof-description": "Verificați un nume de utilizator cu verificările de normalizare ale AntiSpoof.",
- "apihelp-antispoof-summary": "Verificați un nume de utilizator cu verificările de normalizare ale AntiSpoof.",
- "apihelp-antispoof-param-username": "Numele de utilizator de verificat cu AntiSpoof.",
- "apihelp-antispoof-example-1": "Verifică numele de utilizator \"Foo\" cu AntiSpoof"
+ "right-override-antispoof": "Trece peste verificările de spoofing"
}
diff --git a/AntiSpoof/i18n/roa-tara.json b/AntiSpoof/i18n/roa-tara.json
index f3dfa8c2..33503550 100644
--- a/AntiSpoof/i18n/roa-tara.json
+++ b/AntiSpoof/i18n/roa-tara.json
@@ -20,10 +20,6 @@
"antispoof-tooshort": "'U nome normalizzate ète curte assaje",
"antispoof-ignore": "Ignore verifeche sus a le 'mbruegghie",
"antispoof-ignore-help": "Permette a le utinde cu le privilegge de ccrejà 'n'utende, pure ce 'u nome sue s'assemegghie a quidde de otre crestiane ggià esistende.",
- "right-override-antispoof": "Sovrascrive le verifeche sus a le 'mbruegghie",
- "apihelp-antispoof-description": "Verifiche 'nu nome utende condre a le verifiche de normalizzazzione AntiSpoof.",
- "apihelp-antispoof-summary": "Verifiche 'nu nome utende cu le verifiche de normalizzazzione AntiSpoof.",
- "apihelp-antispoof-param-username": "'U nome utende da verificà condre a AntiSpoof.",
- "apihelp-antispoof-example-1": "Verifiche 'u nome utende \"Foo\" condre a AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Lasse perdere le verifiche de spoofing (vole 'u deritte <code>override-antispoof</code>)."
+ "action-override-antispoof": "sovrascrive le verifeche sus a le 'mbruegghie",
+ "right-override-antispoof": "Sovrascrive le verifeche sus a le 'mbruegghie"
}
diff --git a/AntiSpoof/i18n/ru.json b/AntiSpoof/i18n/ru.json
index ffc14688..3edd7392 100644
--- a/AntiSpoof/i18n/ru.json
+++ b/AntiSpoof/i18n/ru.json
@@ -3,12 +3,13 @@
"authors": [
"Amire80",
"DCamer",
+ "Facenapalm",
"Kaganer",
"Okras",
- "Van de Bugger",
- "Александр Сигачёв",
"Perevod16",
- "Facenapalm"
+ "Van de Bugger",
+ "Vlad5250",
+ "Александр Сигачёв"
]
},
"antispoof-desc": "Запрещает создание учётных записей с именами, содержащими символы из разных алфавитов, вводящих в заблуждение и похожих на имена других участников.",
@@ -27,10 +28,6 @@
"antispoof-tooshort": "Нормализованное имя слишком коротко",
"antispoof-ignore": "Игнорировать проверки на схожие имена",
"antispoof-ignore-help": "Позволяет участникам с достаточными правами создать учётную запись даже если это имя похоже на имя уже существующей учётной записи.",
- "right-override-antispoof": "игнорирование проверок на схожие имена",
- "apihelp-antispoof-description": "Проверка имени с помощью AntiSpoof.",
- "apihelp-antispoof-summary": "Проверка имени с помощью AntiSpoof.",
- "apihelp-antispoof-param-username": "Имя проверяемого с помощью AntiSpoof участника.",
- "apihelp-antispoof-example-1": "Проверить с помощью AntiSpoof имя участника «Foo»",
- "apihelp-createaccount-param-ignoreantispoof": "Игнорировать проверки на схожие имена (требует права <code>override-antispoof</code>)."
+ "action-override-antispoof": "игнорирование проверок на подобные имена",
+ "right-override-antispoof": "Игнорирование проверок на схожие имена"
}
diff --git a/AntiSpoof/i18n/sat.json b/AntiSpoof/i18n/sat.json
index a0b1edae..8f4de731 100644
--- a/AntiSpoof/i18n/sat.json
+++ b/AntiSpoof/i18n/sat.json
@@ -1,12 +1,12 @@
{
"@metadata": {
"authors": [
- "Salvator",
- "Fagunkoyel Hansdah",
- "Ramjit Tudu",
"Amire80",
"Dulal Kisku",
- "Manik Soren"
+ "Fagunkoyel Hansdah",
+ "Manik Soren",
+ "Ramjit Tudu",
+ "Salvator"
]
},
"antispoof-conflict-top": "ᱵᱮᱵᱷᱟᱨᱤᱭᱹ ᱧᱩᱛᱩᱢ \"$1\" ᱫᱚ ᱞᱟᱛᱟᱨ ᱨᱮᱱᱟᱜ {{PLURAL:$2|ᱵᱮᱵᱦᱟᱨᱤᱭᱟᱹ ᱧᱩᱛᱩᱢ|ᱵᱮᱵᱷᱟᱨᱤᱭᱟ ᱧᱩᱛᱩᱢᱠᱚ}} ᱥᱟᱶ ᱢᱤᱫ ᱜᱮᱭᱟ:",
diff --git a/AntiSpoof/i18n/scn.json b/AntiSpoof/i18n/scn.json
index 7079657b..17e84b86 100644
--- a/AntiSpoof/i18n/scn.json
+++ b/AntiSpoof/i18n/scn.json
@@ -1,10 +1,10 @@
{
"@metadata": {
"authors": [
- "Santu",
- "Tonyfroio",
"Pippinu",
- "Sarvaturi"
+ "Santu",
+ "Sarvaturi",
+ "Tonyfroio"
]
},
"antispoof-desc": "Blocca la criazzioni di cunti d'utenti cu nomi fatti d'arfabbeti ammiscati, chi ponnu fari cunfùnniri, o chi s'assimìgghianu troppu assai",
@@ -21,9 +21,5 @@
"antispoof-mixedscripts": "Cunteni arfabbeti ammiscati chi nun sunnu cumpatìbbili",
"antispoof-tooshort": "Nomu 'n forma canonica troppu curtu",
"antispoof-ignore": "Sàuta li cuntrolli contra ô scanciu di pirsuna",
- "right-override-antispoof": "Sautari li cuntrolli contra ô scanciu di pirsuna",
- "apihelp-antispoof-description": "Suttaponi un nomu utenti ê virìfichi di nurmalizzazzioni di l'AntiSpoof",
- "apihelp-antispoof-param-username": "Lu nomu utenti di cuntrullari cu l'AntiSpoof",
- "apihelp-antispoof-example-1": "Cuntrullari lu nomu utenti \"Cicciu\" cu l'AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Sautari li cuntrolli AntiSpoof (havi bisognu dû drittu <code>override-antispoof</code>)."
+ "right-override-antispoof": "Sautari li cuntrolli contra ô scanciu di pirsuna"
}
diff --git a/AntiSpoof/i18n/sco.json b/AntiSpoof/i18n/sco.json
index ff516d33..6e92890c 100644
--- a/AntiSpoof/i18n/sco.json
+++ b/AntiSpoof/i18n/sco.json
@@ -1,9 +1,9 @@
{
"@metadata": {
"authors": [
+ "AmaryllisGardener",
"John Reid",
- "Sator",
- "AmaryllisGardener"
+ "Sator"
]
},
"antispoof-desc": "Blocks the creaution o accoonts wi mixt-screept, confusin n siclik uisernames",
@@ -20,8 +20,5 @@
"antispoof-mixedscripts": "Contains oncompatible mixt screepts",
"antispoof-tooshort": "Canoneecalised name is ower short",
"antispoof-ignore": "Ignore spuifin checks",
- "right-override-antispoof": "Owerride the spuifin checks",
- "apihelp-antispoof-description": "Check ae uisername again AntiSpoof's normalisation checks.",
- "apihelp-antispoof-param-username": "The uisername tae check again AntiSpoof.",
- "apihelp-antispoof-example-1": "Check uisername \"Foo\" again AntiSpoof"
+ "right-override-antispoof": "Owerride the spuifin checks"
}
diff --git a/AntiSpoof/i18n/sh.json b/AntiSpoof/i18n/sh.json
index 1840ee69..f462f329 100644
--- a/AntiSpoof/i18n/sh.json
+++ b/AntiSpoof/i18n/sh.json
@@ -2,21 +2,25 @@
"@metadata": {
"authors": [
"Kolega2357",
- "OC Ripper"
+ "OC Ripper",
+ "Vlad5250"
]
},
"antispoof-desc": "Blokira pravljenje računa sa miješanim slovima, zbunjujućim i sličnim korisničkim imenima",
- "antispoof-conflict-top": "Ime \"$1\" je previše slično {{PLURAL:$2|slijedećem postojećem računu|sa slijedeća $2 postojeća računa|sa slijedećih $2 postojećih računa}}:",
- "antispoof-conflict-bottom": "Molimo izaberite drugo ime.",
- "antispoof-name-illegal": "Ime \"$1\" nije dopušteno da bi se izbjegla zbunjujuća ili slična korisnička imena: $2.\nMolimo Vas da odaberete drugo ime.",
- "antispoof-badtype": "Krivi tip podataka",
+ "antispoof-conflict-top": "Korisničko ime \"$1\" previše je slično {{PLURAL:$2|sljedećem korisničkom imenu|sljedećim korisničkim imenima}}:",
+ "antispoof-conflict-bottom": "Odaberite drugo korisničko ime",
+ "antispoof-name-illegal": "Korisničko ime \"$1\" nije dopušteno da bi se izbjegla zbunjujuća imena koja su uvredljivo slična: $2.\nOdaberite drugo korisničko ime.",
+ "antispoof-badtype": "Pogrešan tip podataka",
"antispoof-empty": "Prazan unos",
- "antispoof-blacklisted": "Sadrži nedozvoljeno slovo (karakter)",
- "antispoof-combining": "Počinje sa znakom kombinacije",
- "antispoof-unassigned": "Sadrži nedodijeljen ili zastarjeli znak (karakter)",
+ "antispoof-blacklisted": "Sadrži zabranjeni znak $1",
+ "antispoof-combining": "Počinje sa sastavnim znakom $1",
+ "antispoof-unassigned": "Sadrži nedodijeljeni znak $1",
+ "antispoof-deprecated": "Sadrži zastarjeli znak $1",
"antispoof-noletters": "Ne sadrži ni jedno slovo",
"antispoof-mixedscripts": "Nekompatibilna pisma - Некомпатибилна писма",
"antispoof-tooshort": "Normalizirano ime je prekratko",
"antispoof-ignore": "Ignoriraj provjeru nevaljanih imena (antispoof)",
- "right-override-antispoof": "Zaobilaženje provjera korisničkog imena"
+ "antispoof-ignore-help": "Omogućuje korisnicima s dovoljnim pravima za izradu računa čak i kada su njihova imena slična postojećim.",
+ "action-override-antispoof": "premošćivanje provjera za međusobno slična imena",
+ "right-override-antispoof": "Premošćivanje provjera za međusobno slična imena"
}
diff --git a/AntiSpoof/i18n/shn.json b/AntiSpoof/i18n/shn.json
index 77060a1a..f39ccdcd 100644
--- a/AntiSpoof/i18n/shn.json
+++ b/AntiSpoof/i18n/shn.json
@@ -1,8 +1,8 @@
{
"@metadata": {
"authors": [
- "Khun Sar",
"Adolfsar",
+ "Khun Sar",
"Saimawnkham"
]
},
diff --git a/AntiSpoof/i18n/sk.json b/AntiSpoof/i18n/sk.json
index e9a10eef..56509342 100644
--- a/AntiSpoof/i18n/sk.json
+++ b/AntiSpoof/i18n/sk.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Helix84",
- "TomášPolonec"
+ "TomášPolonec",
+ "Vlad5250"
]
},
"antispoof-desc": "Blokuje tvorbu účtov so zmiešanými písmami, mätúce a podobné mená.",
@@ -19,5 +20,7 @@
"antispoof-mixedscripts": "Obsahuje nekompatibilné zmiešané písma",
"antispoof-tooshort": "Meno prevedené do kanonického tvaru je príliš krátke",
"antispoof-ignore": "Ignorovať kontroly klamania",
+ "antispoof-ignore-help": "Povolí používateľom s dostatočnými oprávneniami vytvoriť účet, aj keď je jeho názov podobný názvu už jestvujúceho účtu.",
+ "action-override-antispoof": "prekonať kontroly klamania",
"right-override-antispoof": "Prekonať kontroly klamania"
}
diff --git a/AntiSpoof/i18n/sl.json b/AntiSpoof/i18n/sl.json
index 19cee648..afd0765b 100644
--- a/AntiSpoof/i18n/sl.json
+++ b/AntiSpoof/i18n/sl.json
@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Dbc334",
- "Irena Plahuta"
+ "Irena Plahuta",
+ "Yerpo"
]
},
"antispoof-desc": "Prepreči ustvarjanje računov z mešanimi pisavami ter begajočimi in podobnimi uporabniškimi imeni",
@@ -19,5 +20,6 @@
"antispoof-mixedscripts": "Vsebuje nezdružljive mešane skripte",
"antispoof-tooshort": "Normalizirano ime je prekratko",
"antispoof-ignore": "Prezri preverjanja prevare",
+ "antispoof-ignore-help": "Dovoli uporabnikom z dovoljšnjimi pooblastili ustvariti račun, tudi če je ime podobno obstoječemu računu.",
"right-override-antispoof": "Preskoči preverjanja prevar"
}
diff --git a/AntiSpoof/i18n/sq.json b/AntiSpoof/i18n/sq.json
index d786efcd..68fe0907 100644
--- a/AntiSpoof/i18n/sq.json
+++ b/AntiSpoof/i18n/sq.json
@@ -1,9 +1,9 @@
{
"@metadata": {
"authors": [
+ "Arianit",
"FatosMorina",
- "Olsi",
- "Arianit"
+ "Olsi"
]
},
"antispoof-desc": "Bllokon krijimin e llogarive me shkrime të përziera, duke çrregulluar edhe emrat e ngjashëm të përdorusve",
diff --git a/AntiSpoof/i18n/sr-ec.json b/AntiSpoof/i18n/sr-ec.json
index 60c754e6..e014bb11 100644
--- a/AntiSpoof/i18n/sr-ec.json
+++ b/AntiSpoof/i18n/sr-ec.json
@@ -1,15 +1,15 @@
{
"@metadata": {
"authors": [
+ "BadDog",
+ "Milicevic01",
"Millosh",
"Rancher",
"Sasa Stefanovic",
"Јованвб",
"Жељко Тодоровић",
"Михајло Анђелковић",
- "Milicevic01",
- "Сербијана",
- "BadDog"
+ "Сербијана"
]
},
"antispoof-desc": "Спречава отварање налога с мешаним писмима, збуњујућим и сличним корисничким именима",
diff --git a/AntiSpoof/i18n/sr-el.json b/AntiSpoof/i18n/sr-el.json
index e3e987cd..7d1521a9 100644
--- a/AntiSpoof/i18n/sr-el.json
+++ b/AntiSpoof/i18n/sr-el.json
@@ -2,9 +2,9 @@
"@metadata": {
"authors": [
"Michaello",
+ "Milicevic01",
"Rancher",
- "Жељко Тодоровић",
- "Milicevic01"
+ "Жељко Тодоровић"
]
},
"antispoof-desc": "Sprečava otvaranje naloga s mešanim pismima, zbunjujućim i sličnim korisničkim imenima",
diff --git a/AntiSpoof/i18n/sv.json b/AntiSpoof/i18n/sv.json
index cbd97d89..04b49b64 100644
--- a/AntiSpoof/i18n/sv.json
+++ b/AntiSpoof/i18n/sv.json
@@ -2,11 +2,12 @@
"@metadata": {
"authors": [
"Boivie",
+ "Jopparn",
"Lejonel",
"Lokal Profil",
"M.M.S.",
+ "Mjälten",
"Skalman",
- "Jopparn",
"WikiPhoenix"
]
},
@@ -25,10 +26,6 @@
"antispoof-tooshort": "Normaliserade namnet är för kort",
"antispoof-ignore": "Ignorera missbrukskontroller",
"antispoof-ignore-help": "Tillåter användare med tillräckliga behörigheter att skapa ett konto, även om dess namn är liknande namnet på ett befintligt konto.",
- "right-override-antispoof": "Slipper kontroller mot förvirrande användarnamn",
- "apihelp-antispoof-description": "Kontrollera ett användarnamn mot AntiSpoofs normaliseringskontroller.",
- "apihelp-antispoof-summary": "Kontrollera ett användarnamn mot AntiSpoofs normaliseringskontroller.",
- "apihelp-antispoof-param-username": "Det användarnamn som ska kontrolleras mot AntiSpoof.",
- "apihelp-antispoof-example-1": "Kontrollera användarnamn \"Foo\" mot AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ignorera missbrukskontroller (kräver <code>override-antispoof</code>-rättigheten)."
+ "action-override-antispoof": "Slipper kontroller mot förvirrande användarnamn",
+ "right-override-antispoof": "Slipper kontroller mot förvirrande användarnamn"
}
diff --git a/AntiSpoof/i18n/ais.json b/AntiSpoof/i18n/szy.json
index 344a5515..6dda4c91 100644
--- a/AntiSpoof/i18n/ais.json
+++ b/AntiSpoof/i18n/szy.json
@@ -1,9 +1,9 @@
{
"@metadata": {
"authors": [
- "Tokoabibi",
"Benel",
- "Bunukwiki"
+ "Bunukwiki",
+ "Tokoabibi"
]
},
"antispoof-desc": "satezep pisaungay palalamel tu Script, dayum masiwala saca atu izaway misaungayay a kalungangan tadamasasengi misaungayay a kalungangan panganganen ku canghaw.",
@@ -17,9 +17,5 @@
"antispoof-mixedscripts": "yamalyilu macamulay caay mangangalep a Script",
"antispoof-ignore": "sekipo pahengad kinsa",
"antispoof-ignore-help": "mahasa sizumaay tungus a situngusay patizeng baluhayay a changhaw malecalecaday ayzaay a changhaw.",
- "right-override-antispoof": "mitahap pahengad tu kinsa",
- "apihelp-antispoof-description": "kinsa misaungayay a kalungangan patedu AntiSpoof a laliday a kinsa.",
- "apihelp-antispoof-param-username": "kinsa misaungayay a kalungangan hakay patedu AntiSpoof haw?",
- "apihelp-antispoof-example-1": "kinsa misaungayay a kalungangan \"Foo\" patedu AntiSpoof haw?",
- "apihelp-createaccount-param-ignoreantispoof": "sekipo pahengaday midebung kinsa (maydih <code>override-antispoof</code> tungus)."
+ "right-override-antispoof": "mitahap pahengad tu kinsa"
}
diff --git a/AntiSpoof/i18n/ta.json b/AntiSpoof/i18n/ta.json
index aaded485..530cfd04 100644
--- a/AntiSpoof/i18n/ta.json
+++ b/AntiSpoof/i18n/ta.json
@@ -1,10 +1,10 @@
{
"@metadata": {
"authors": [
+ "ElangoRamanujam",
"Karthi.dr",
"Shanmugamp7",
- "TRYPPN",
- "ElangoRamanujam"
+ "TRYPPN"
]
},
"antispoof-desc": "கலப்பு படிவம், குழப்பமான மற்றும் ஒரேமாதிரியான பயனர்பெயர்களை கொண்ட கணக்குகளை உருவாக்குவதை தடுக்கும்.",
diff --git a/AntiSpoof/i18n/te.json b/AntiSpoof/i18n/te.json
index 91dcbe45..55632fcc 100644
--- a/AntiSpoof/i18n/te.json
+++ b/AntiSpoof/i18n/te.json
@@ -7,7 +7,7 @@
"వైజాసత్య"
]
},
- "antispoof-desc": "మిశ్రమ లిపులతో, అయోమయపు మరియు సామీప్యపు పేర్లతో ఖాతాలను సృష్టించడాన్ని నిరోధిస్తుంది",
+ "antispoof-desc": "మిశ్రమ లిపులతో, అయోమయపు, సామీప్యపు పేర్లతో ఖాతాలను సృష్టించడాన్ని నిరోధిస్తుంది",
"antispoof-conflict-top": "\"$1\" అనే వాడుకరిపేరు కింది {{PLURAL:$2|వాడుకరి పేరుకు|వాడుకరి పేర్లకు}} మరీ దగ్గరగా ఉంది:",
"antispoof-conflict-bottom": "మరో వాడుకరిపేరుని ఎంచుకోండి.",
"antispoof-name-illegal": "\"$1\" అనే వాడుకరిపేరును అనుమతించం; అయోమయాన్ని, ఎగతాళి చేయడాన్ని నివారించేందుకు: $2. మరో వాడుకరిపేరును ఎంచుకోండి.",
diff --git a/AntiSpoof/i18n/th.json b/AntiSpoof/i18n/th.json
new file mode 100644
index 00000000..547b55e0
--- /dev/null
+++ b/AntiSpoof/i18n/th.json
@@ -0,0 +1,24 @@
+{
+ "@metadata": {
+ "authors": [
+ "Aefgh39622"
+ ]
+ },
+ "antispoof-desc": "บล็อกการสร้างบัญชีที่มีชื่อผู้ใช้ที่มีตัวอักษรมากกว่าสองภาษาปนกัน สับสน และคล้ายกัน",
+ "antispoof-conflict-top": "ชื่อผู้ใช้ \"$1\" คล้ายกับ{{PLURAL:$2|ชื่อผู้ใช้}}ดังต่อไปนี้มากเกินไป:",
+ "antispoof-conflict-bottom": "โปรดเลือกชื่อผู้ใช้อื่น",
+ "antispoof-name-illegal": "ไม่อนุญาตให้ใช้ชื่อผู้ใช้ \"$1\" เพื่อป้องกันชื่อผู้ใช้ที่สับสนหรือปลอมแปลง: $2\nโปรดเลือกชื่อผู้ใช้อื่น",
+ "antispoof-badtype": "ประเภทข้อมูลไม่ถูกต้อง",
+ "antispoof-empty": "สตริงเปล่า",
+ "antispoof-blacklisted": "มีอักขระ $1 ซึ่งอยู่ในบัญชีดำ",
+ "antispoof-combining": "ขึ้นต้นด้วยเครื่องหมายกำกับเสียงแบบรวม $1",
+ "antispoof-unassigned": "มีอักขระที่ไม่ได้กำหนด $1",
+ "antispoof-deprecated": "มีอักขระที่เลิกใช้ $1",
+ "antispoof-noletters": "ไม่มีตัวอักษรใด",
+ "antispoof-mixedscripts": "มีตัวเขียนมากกว่าสองภาษาปนกันซึ่งเข้ากันไม่ได้",
+ "antispoof-tooshort": "ชื่อมาตรฐานสั้นเกินไป",
+ "antispoof-ignore": "เพิกเฉยการตรวจสอบการปลอมแปลง",
+ "antispoof-ignore-help": "อนุญาตให้ผู้ใช้ที่มีสิทธิเพียงพอสร้างบัญชีได้แม้ว่าชื่อจะคล้ายกับบัญชีที่มีอยู่",
+ "action-override-antispoof": "เพิกเฉยการตรวจสอบการปลอมแปลง",
+ "right-override-antispoof": "เพิกเฉยการตรวจสอบการปลอมแปลง"
+}
diff --git a/AntiSpoof/i18n/tl.json b/AntiSpoof/i18n/tl.json
index 4dd958aa..83c770a8 100644
--- a/AntiSpoof/i18n/tl.json
+++ b/AntiSpoof/i18n/tl.json
@@ -2,8 +2,8 @@
"@metadata": {
"authors": [
"AnakngAraw",
- "Sky Harbor",
"Jojit fb",
+ "Sky Harbor",
"Umherirrender"
]
},
diff --git a/AntiSpoof/i18n/tr.json b/AntiSpoof/i18n/tr.json
index 0abd4aff..aecefbf2 100644
--- a/AntiSpoof/i18n/tr.json
+++ b/AntiSpoof/i18n/tr.json
@@ -1,29 +1,30 @@
{
"@metadata": {
"authors": [
+ "Arystanbek",
+ "BaRaN6161 TURK",
+ "By erdo can",
+ "Hedda",
"Incelemeelemani",
"Joseph",
- "Srhat",
- "Arystanbek",
- "By erdo can"
+ "Srhat"
]
},
"antispoof-desc": "Karışık-betikli, kafa karıştırıcı ve benzer kullanıcı adlarıyla hesap oluşturulmasını engeller",
"antispoof-conflict-top": "\"$1\" kullanıcı adı, şu {{PLURAL:$2|kullanıcı adına|kullanıcı adlarına}} çok benziyor:",
"antispoof-conflict-bottom": "Lütfen başka bir kullanıcı adı seçin.",
"antispoof-name-illegal": "$2 hesabıyla karışmaması için \"$1\" kullanıcı adına izin verilmemektedir. Lütfen başka bir kullanıcı adı seçiniz.",
- "antispoof-badtype": "Bozuk veri tipi",
+ "antispoof-badtype": "Bozuk veri türü",
"antispoof-empty": "Boş dizi",
- "antispoof-blacklisted": "$1 Kara listeye karakteri içeriyor",
- "antispoof-combining": "$1 Kaynaştırma işaretiyle başlıyor",
- "antispoof-unassigned": "$1 Atanmamış ya da onaylanmamış karakter içeriyor",
+ "antispoof-blacklisted": "$1 kara listeye karakteri içeriyor",
+ "antispoof-combining": "$1 kaynaştırma işaretiyle başlıyor",
+ "antispoof-unassigned": "$1 atanmamış ya da onaylanmamış karakter içeriyor",
"antispoof-deprecated": "$1 eski karakterini içeriyor",
"antispoof-noletters": "Hiç harf içermez",
"antispoof-mixedscripts": "Uyumsuz karışık betikler içeriyor",
"antispoof-tooshort": "Normalleştirilmiş ad çok kısa",
- "antispoof-ignore": "Aldatıcı kontrolleri ihmal et",
- "right-override-antispoof": "Aldatıcı kontrolleri gerçersiz kıl",
- "apihelp-antispoof-description": "AntiSpoof bu normalleşme denetler karşı bir kullanıcı adı kontrol edin.",
- "apihelp-antispoof-param-username": "Kullanıcı adı AntiSpoof karşı kontrol edin.",
- "apihelp-antispoof-example-1": "Onay \"\" karşı AntiSpoof Foo kullanıcı adı"
+ "antispoof-ignore": "Kimlik sahtekarlığı denetimlerini yoksay",
+ "antispoof-ignore-help": "Adı, mevcut bir hesabınkine benzese bile bir hesap oluşturmak için yeterli ayrıcalıklara sahip olan kullanıcılara izin verir.",
+ "action-override-antispoof": "aldatıcı kontrolleri gerçersiz kıl",
+ "right-override-antispoof": "Aldatıcı kontrolleri gerçersiz kıl"
}
diff --git a/AntiSpoof/i18n/uk.json b/AntiSpoof/i18n/uk.json
index 916568f1..5aa24e6b 100644
--- a/AntiSpoof/i18n/uk.json
+++ b/AntiSpoof/i18n/uk.json
@@ -5,9 +5,10 @@
"AS",
"Ahonc",
"Andriykopanytsia",
+ "Base",
"Piramidion",
- "Ата",
- "Base"
+ "Vlad5250",
+ "Ата"
]
},
"antispoof-desc": "Забороняє створення облікових записів з іменами, подібними або схожими на імена інших облікових записів, та іменами, що містять символи з різних систем письма.",
@@ -25,10 +26,6 @@
"antispoof-tooshort": "Канонічне ім'я надто коротке",
"antispoof-ignore": "Ігнорувати перевірки на схожі імена",
"antispoof-ignore-help": "Дозволяє користувачам з достатніми правами створити обліковий запис навіть якщо його ім'я є схожим до імені дійсного облікового запису.",
- "right-override-antispoof": "ігнорування перевірок на схожі імена",
- "apihelp-antispoof-description": "Перевірите ім'я користувача через перевірку нормалізації AntiSpoof.",
- "apihelp-antispoof-summary": "Перевірите ім'я користувача через перевірку нормалізації AntiSpoof.",
- "apihelp-antispoof-param-username": "Ім'я користувача для перевірки через AntiSpoof.",
- "apihelp-antispoof-example-1": "Перевірити ім'я користувача «Foo» через AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Ігнорувати перевірки підмін (вимагає права <code>override-antispoof</code>)."
+ "action-override-antispoof": "ігнорування перевірок на схожі імена",
+ "right-override-antispoof": "Ігнорування перевірок на схожі імена"
}
diff --git a/AntiSpoof/i18n/ur.json b/AntiSpoof/i18n/ur.json
index 84abcd71..a7008d99 100644
--- a/AntiSpoof/i18n/ur.json
+++ b/AntiSpoof/i18n/ur.json
@@ -1,10 +1,10 @@
{
"@metadata": {
"authors": [
- "පසිඳු කාවින්ද",
+ "BukhariSaeed",
"Muhammad Shuaib",
"Saraiki",
- "BukhariSaeed"
+ "පසිඳු කාවින්ද"
]
},
"antispoof-desc": "گڈمڈ و الجھن پیدا کرنے والے اور ایک جیسی تحریر والے صارف ناموں کی تخلیق پر روک لگاتا ہے۔",
diff --git a/AntiSpoof/i18n/vi.json b/AntiSpoof/i18n/vi.json
index 00485ca6..1888695c 100644
--- a/AntiSpoof/i18n/vi.json
+++ b/AntiSpoof/i18n/vi.json
@@ -2,8 +2,8 @@
"@metadata": {
"authors": [
"Minh Nguyen",
- "Vinhtantran",
- "Quenhitran"
+ "Quenhitran",
+ "Vinhtantran"
]
},
"antispoof-desc": "Cấm không được mở tài khoản dưới tên người dùng sử dụng hơn một hệ thống chữ viết, gây nhầm lẫn, và tương tự với tên người dùng khác",
@@ -22,9 +22,5 @@
"antispoof-tooshort": "Tên chuẩn hóa quá ngắn",
"antispoof-ignore": "Không kiểm tra tên có gây nhầm lẫn",
"antispoof-ignore-help": "Cho phép những người dùng có đủ quyền tạo tài khoản có tên tương tự với một tài khoản đã tồn tại.",
- "right-override-antispoof": "Bỏ qua kiểm tra tên",
- "apihelp-antispoof-description": "Kiểm tra tên người dùng qua quá trình chuẩn hóa của AntiSpoof.",
- "apihelp-antispoof-param-username": "Tên người dùng để kiểm tra qua AntiSpoof.",
- "apihelp-antispoof-example-1": "Kiểm tra tên người dùng “Foo” qua AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "Bỏ qua các kiểm tra lừa gạt (cần quyền <code>override-antispoof</code>)."
+ "right-override-antispoof": "Bỏ qua kiểm tra tên"
}
diff --git a/AntiSpoof/i18n/war.json b/AntiSpoof/i18n/war.json
index 411030b1..720b2b6b 100644
--- a/AntiSpoof/i18n/war.json
+++ b/AntiSpoof/i18n/war.json
@@ -1,8 +1,9 @@
{
"@metadata": {
"authors": [
+ "Harvzsf",
"JinJian"
]
},
- "antispoof-conflict-bottom": "Alayon pagpili hin iba nga ngaran."
+ "antispoof-conflict-bottom": "Alayon pagpili hin iba nga ngaran-hin-gumaramit."
}
diff --git a/AntiSpoof/i18n/yue.json b/AntiSpoof/i18n/yue.json
index 235cf79e..5b2d09f8 100644
--- a/AntiSpoof/i18n/yue.json
+++ b/AntiSpoof/i18n/yue.json
@@ -3,9 +3,9 @@
"authors": [
"Antonytse",
"CRCHF",
- "Yueman",
+ "Hello903hello",
"Ktchankt",
- "Hello903hello"
+ "Yueman"
]
},
"antispoof-desc": "封鎖一啲對於有混合程序、混淆同埋相似嘅用戶名嘅開戶口動作",
@@ -23,10 +23,5 @@
"antispoof-tooshort": "標準化之後嘅名太短",
"antispoof-ignore": "略過欺詐檢查",
"antispoof-ignore-help": "畀有特定權限嘅用戶去開同現有戶口個名相似嘅新戶口。",
- "right-override-antispoof": "無視欺詐檢查",
- "apihelp-antispoof-description": "正常檢查一個戶口係咪有網絡釣魚嘅嘢。",
- "apihelp-antispoof-summary": "檢查個用戶名有無違反AntiSpoof嘅標準化檢查。",
- "apihelp-antispoof-param-username": "呢個用戶名懷疑有網絡釣魚",
- "apihelp-antispoof-example-1": "查到“Foo”呢個戶口有網絡釣魚嘅嘢",
- "apihelp-createaccount-param-ignoreantispoof": "略過欺詐檢查(需要 <code>override-antispoof</code> 權限)。"
+ "right-override-antispoof": "無視欺詐檢查"
}
diff --git a/AntiSpoof/i18n/zh-hans.json b/AntiSpoof/i18n/zh-hans.json
index ae11f2df..09602ec5 100644
--- a/AntiSpoof/i18n/zh-hans.json
+++ b/AntiSpoof/i18n/zh-hans.json
@@ -5,10 +5,11 @@
"Hzy980512",
"Jimmy xu wrk",
"Liangent",
+ "Liuxinyu970226",
"PhiLiP",
"Xiaomingyan",
"Yfdyh000",
- "Liuxinyu970226",
+ "佛壁灯",
"范"
]
},
@@ -28,10 +29,6 @@
"antispoof-tooshort": "标准化的名字过短",
"antispoof-ignore": "忽略欺诈检查",
"antispoof-ignore-help": "允许有足够特权的用户创建账户,即便其用户名与现有账户相似。",
- "right-override-antispoof": "无视欺诈检查",
- "apihelp-antispoof-description": "检查用户名是否触犯AntiSpoof的常规检查。",
- "apihelp-antispoof-summary": "检查用户名是否触犯AntiSpoof的常规检查。",
- "apihelp-antispoof-param-username": "要检查是否触犯AntiSpoof的用户名。",
- "apihelp-antispoof-example-1": "检查用户名“Foo”是否触犯AntiSpoof",
- "apihelp-createaccount-param-ignoreantispoof": "忽略欺骗检查(需要<code>override-antispoof</code>权限)。"
+ "action-override-antispoof": "无视欺诈检查",
+ "right-override-antispoof": "无视欺诈检查"
}
diff --git a/AntiSpoof/i18n/zh-hant.json b/AntiSpoof/i18n/zh-hant.json
index 3868a7e7..afab6949 100644
--- a/AntiSpoof/i18n/zh-hant.json
+++ b/AntiSpoof/i18n/zh-hant.json
@@ -1,18 +1,19 @@
{
"@metadata": {
"authors": [
+ "A2093064",
+ "Arthur2e5",
+ "Cwlin0416",
"Gzdavidwong",
"Justincheng12345",
+ "Kly",
+ "LNDDYL",
"Liangent",
"Mark85296341",
"Simon Shek",
"Waihorace",
"Wrightbus",
- "LNDDYL",
- "Cwlin0416",
- "Arthur2e5",
- "A2093064",
- "Kly"
+ "Xiplus"
]
},
"antispoof-desc": "禁止使用混合 Script、容易混淆或與既有使用者名稱過於相似的使用者名稱建立帳號",
@@ -30,10 +31,6 @@
"antispoof-tooshort": "標準化後的名稱過短",
"antispoof-ignore": "忽略欺騙檢查",
"antispoof-ignore-help": "允許有特定權限的用戶創建與現有帳戶名相似的新帳戶。",
- "right-override-antispoof": "覆蓋欺騙檢查",
- "apihelp-antispoof-description": "檢查使用者名稱是否違反 AntiSpoof 的常態檢查。",
- "apihelp-antispoof-summary": "檢查使用者名稱是否違反 AntiSpoof 的常態檢查。",
- "apihelp-antispoof-param-username": "檢查使用者名稱是否違反 AntiSpoof。",
- "apihelp-antispoof-example-1": "檢查使用者名稱 \"Foo\" 是否違反 AntiSpoof。",
- "apihelp-createaccount-param-ignoreantispoof": "忽略詐欺攻擊檢查 (需要 <code>override-antispoof</code> 權限)。"
+ "action-override-antispoof": "覆蓋欺騙檢查",
+ "right-override-antispoof": "覆蓋欺騙檢查"
}
diff --git a/AntiSpoof/includes/AntiSpoof.php b/AntiSpoof/includes/AntiSpoof.php
index 525dd936..9b286216 100644
--- a/AntiSpoof/includes/AntiSpoof.php
+++ b/AntiSpoof/includes/AntiSpoof.php
@@ -73,6 +73,7 @@ class AntiSpoof {
[ 0x0700, 0x074F, "SCRIPT_SYRIAC" ], // Syriac
[ 0x0750, 0x077F, "SCRIPT_ARABIC" ], // Arabic Supplement
[ 0x0780, 0x07BF, "SCRIPT_THAANA" ], // Thaana
+ [ 0x07C0, 0x07FF, "SCRIPT_NKO" ], // NKo (N'Ko)
[ 0x0900, 0x097F, "SCRIPT_DEVANAGARI" ], // Devanagari
[ 0x0980, 0x09FF, "SCRIPT_BENGALI" ], // Bengali
[ 0x0A00, 0x0A7F, "SCRIPT_GURMUKHI" ], // Gurmukhi
@@ -104,6 +105,7 @@ class AntiSpoof {
[ 0x1950, 0x197F, "SCRIPT_TAI_LE" ], // Tai Le
[ 0x1980, 0x19DF, "SCRIPT_NEW_TAI_LUE" ], // New Tai Lue
[ 0x1A00, 0x1A1F, "SCRIPT_BUGINESE" ], // Buginese
+ [ 0x1C50, 0x1C7F, "SCRIPT_OL_CHIKI" ], // Ol Chiki
[ 0x1E00, 0x1EFF, "SCRIPT_LATIN" ], // Latin Extended Additional
[ 0x1F00, 0x1FFF, "SCRIPT_GREEK" ], // Greek Extended
// [ 0x2C00, 0x2C5F, "SCRIPT_GLAGOLITIC" ], // Glagolitic
@@ -121,6 +123,8 @@ class AntiSpoof {
[ 0x4E00, 0x9FFF, "SCRIPT_HAN" ], // CJK Unified Ideographs
[ 0xA000, 0xA4CF, "SCRIPT_YI" ], // Yi Syllables, Yi Radicals
[ 0xA800, 0xA82F, "SCRIPT_SYLOTI_NAGRI" ], // Syloti Nagri
+ // [ 0xAAE0, 0xAAFF, "SCRIPT_MEETEI_MAYEK_EXTENSIONS" ] // Meetei Mayek Extensions
+ [ 0xABC0, 0xABFF, "SCRIPT_MEETEI_MAYEK" ], // Meetei Mayek
[ 0xAC00, 0xD7AF, "SCRIPT_HANGUL" ], // Hangul Syllables
[ 0xF900, 0xFAFF, "SCRIPT_DEPRECATED" ], // CJK Compatibility Ideographs
// [ 0x10000, 0x100FF, "SCRIPT_LINEAR_B" ], // Linear B Syllabary, Linear B Ideograms
@@ -134,6 +138,7 @@ class AntiSpoof {
// [ 0x10480, 0x104AF, "SCRIPT_OSMANYA" ], // Osmanya
// [ 0x10800, 0x1083F, "SCRIPT_CYPRIOT" ], // Cypriot Syllabary
[ 0x10A00, 0x10A5F, "SCRIPT_KHAROSHTHI" ], // Kharoshthi
+ [ 0x118A0, 0x118FF, "SCRIPT_WARANG_CITI" ], // Warang Citi
[ 0x20000, 0x2A6DF, "SCRIPT_HAN" ], // CJK Unified Ideographs Extension B
[ 0x2F800, 0x2FA1F, "SCRIPT_DEPRECATED" ] // CJK Compatibility Ideographs Supplement
];
@@ -143,7 +148,7 @@ class AntiSpoof {
*/
private static $equivset;
- static function getEquivSet() {
+ public static function getEquivSet() {
if ( !self::$equivset ) {
self::$equivset = new Equivset();
}
@@ -152,7 +157,7 @@ class AntiSpoof {
}
/**
- * @param string $ch
+ * @param int $ch
* @return string
*/
private static function getScriptCode( $ch ) {
@@ -167,25 +172,6 @@ class AntiSpoof {
}
/**
- * From the name of a script, get a script descriptor, if valid,
- * otherwise return None
- *
- * @param string $name
- * @return null|string
- */
- private static function getScriptTag( $name ) {
- $name = "SCRIPT_" . strtoupper( trim( $name ) );
- // Linear search
- foreach ( self::$script_ranges as $range ) {
- if ( $name == $range[2] ) {
- return $range[2];
- }
- }
- // Otherwise...
- return null;
- }
-
- /**
* @param array $aList
* @param array $bList
* @return bool
@@ -219,9 +205,9 @@ class AntiSpoof {
/**
* Convert string into array of Unicode code points as integers
* @param string $str
- * @return array
+ * @return int[]
*/
- public static function stringToList( $str ) {
+ private static function stringToList( $str ) {
$ar = [];
if ( !preg_match_all( '/./us', $str, $ar ) ) {
return [];
@@ -237,7 +223,7 @@ class AntiSpoof {
* @param array $list
* @return string
*/
- public static function listToString( $list ) {
+ private static function listToString( $list ) {
$out = '';
foreach ( $list as $cp ) {
$out .= Utils::codepointToUtf8( $cp );
@@ -262,12 +248,12 @@ class AntiSpoof {
}
/**
- * @param array $text
+ * @param int[] $text
* @param string $script
- * @return array
+ * @return int[]
*/
- private static function stripScript( $text, $script ) {
- $scripts = array_map( [ 'AntiSpoof', 'getScriptCode' ], $text );
+ private static function stripScript( array $text, $script ) {
+ $scripts = array_map( [ __CLASS__, 'getScriptCode' ], $text );
$out = [];
foreach ( $text as $index => $char ) {
if ( $scripts[$index] !== $script ) {
@@ -281,7 +267,7 @@ class AntiSpoof {
* Helper function for checkUnicodeStringStatus: Return an error on a bad character.
* @todo I would like to show Unicode character name, but it is not clear how to get it.
* @param string $msgId message identifier.
- * @param number $point codepoint of the bad character.
+ * @param int $point codepoint of the bad character.
* @return Status
*/
private static function badCharErr( $msgId, $point ) {
@@ -303,6 +289,7 @@ class AntiSpoof {
/**
* @param string $testName
* @return array
+ * @deprecated 1.35 Use checkUnicodeStringStatus instead
*/
public static function checkUnicodeString( $testName ) {
$status = self::checkUnicodeStringStatus( $testName );
@@ -359,7 +346,7 @@ class AntiSpoof {
// Note: NFKD normalization should have decomposed all accented chars earlier
$testChars = self::stripScript( $testChars, "SCRIPT_COMBINING_MARKS" );
- $testScripts = array_map( [ 'AntiSpoof', 'getScriptCode' ], $testChars );
+ $testScripts = array_map( [ __CLASS__, 'getScriptCode' ], $testChars );
$unassigned = array_search( "SCRIPT_UNASSIGNED", $testScripts );
if ( $unassigned !== false ) {
return self::badCharErr( 'antispoof-unassigned', $testChars[$unassigned] );
diff --git a/AntiSpoof/includes/AntiSpoofPreAuthenticationProvider.php b/AntiSpoof/includes/AntiSpoofPreAuthenticationProvider.php
index 7dcad253..e66b315d 100644
--- a/AntiSpoof/includes/AntiSpoofPreAuthenticationProvider.php
+++ b/AntiSpoof/includes/AntiSpoofPreAuthenticationProvider.php
@@ -19,6 +19,8 @@
use MediaWiki\Auth\AbstractPreAuthenticationProvider;
use MediaWiki\Auth\AuthenticationRequest;
use MediaWiki\Auth\AuthManager;
+use MediaWiki\User\UserIdentity;
+use Psr\Log\LoggerInterface;
use Psr\Log\NullLogger;
class AntiSpoofPreAuthenticationProvider extends AbstractPreAuthenticationProvider {
@@ -53,13 +55,12 @@ class AntiSpoofPreAuthenticationProvider extends AbstractPreAuthenticationProvid
public function testForAccountCreation( $user, $creator, array $reqs ) {
/** @var AntiSpoofAuthenticationRequest $req */
$req = AuthenticationRequest::getRequestByClass( $reqs, AntiSpoofAuthenticationRequest::class );
- /** @suppress PhanUndeclaredProperty */
$override = $req && $req->ignoreAntiSpoof && $creator->isAllowed( 'override-antispoof' );
return self::testUserInternal( $user, $override, $this->logger );
}
- private function testUserInternal( $user, $override, $logger ) {
+ private function testUserInternal( UserIdentity $user, $override, LoggerInterface $logger ) {
$spoofUser = $this->getSpoofUser( $user );
$mode = !$this->antiSpoofAccounts ? 'LOGGING ' : ( $override ? 'OVERRIDE ' : '' );
$active = $this->antiSpoofAccounts && !$override;
@@ -128,10 +129,10 @@ class AntiSpoofPreAuthenticationProvider extends AbstractPreAuthenticationProvid
}
/**
- * @param User $user
+ * @param UserIdentity $user
* @return SpoofUser
*/
- protected function getSpoofUser( User $user ) {
+ protected function getSpoofUser( UserIdentity $user ) {
return new SpoofUser( $user->getName() );
}
}
diff --git a/AntiSpoof/includes/SpoofUser.php b/AntiSpoof/includes/SpoofUser.php
index 89ed8f08..eeb70137 100644
--- a/AntiSpoof/includes/SpoofUser.php
+++ b/AntiSpoof/includes/SpoofUser.php
@@ -25,7 +25,7 @@ class SpoofUser {
/** @var string */
private $name;
- /** @var string */
+ /** @var string|null */
private $normalized;
/** @var null|Status */
@@ -58,6 +58,7 @@ class SpoofUser {
/**
* Describe the error.
* @return null|string
+ * @deprecated 1.32 Use getErrorStatus instead
*/
public function getError() {
return $this->error ? $this->error->getMessage()->text() : null;
@@ -100,7 +101,7 @@ class SpoofUser {
* @return array empty if no conflict, or array containing conflicting usernames
*/
public function getConflicts() {
- $dbr = $this->getDBSlave();
+ $dbr = $this->getDBReplica();
// Join against the user table to ensure that we skip stray
// entries left after an account is renamed or otherwise munged.
@@ -140,7 +141,7 @@ class SpoofUser {
'su_name' => $this->name,
'su_normalized' => $this->normalized,
'su_legal' => $this->legal ? 1 : 0,
- 'su_error' => $this->getError(),
+ 'su_error' => $this->error ? $this->error->getMessage()->text() : null,
];
}
@@ -163,9 +164,10 @@ class SpoofUser {
}
$dbw->replace(
'spoofuser',
- [ 'su_name' ],
+ 'su_name',
$fields,
- __METHOD__ );
+ __METHOD__
+ );
return true;
}
@@ -186,7 +188,8 @@ class SpoofUser {
$method
);
}
- }
+ },
+ $method
);
}
@@ -204,7 +207,7 @@ class SpoofUser {
/**
* @return IDatabase
*/
- protected function getDBSlave() {
+ protected function getDBReplica() {
return wfGetDB( DB_REPLICA );
}
diff --git a/AntiSpoof/maintenance/BatchAntiSpoofClass.php b/AntiSpoof/maintenance/BatchAntiSpoofClass.php
index 92ad65b0..9c3789a8 100644
--- a/AntiSpoof/maintenance/BatchAntiSpoofClass.php
+++ b/AntiSpoof/maintenance/BatchAntiSpoofClass.php
@@ -16,6 +16,8 @@
* http://www.gnu.org/copyleft/gpl.html
*/
+use MediaWiki\MediaWikiServices;
+
$IP = getenv( 'MW_INSTALL_PATH' );
if ( $IP === false ) {
$IP = __DIR__ . '/../../..';
@@ -70,10 +72,6 @@ class BatchAntiSpoof extends Maintenance {
return new SpoofUser( $name );
}
- protected function waitForSlaves() {
- wfWaitForSlaves();
- }
-
/**
* Do the actual work. All child classes will need to implement this
*/
@@ -88,6 +86,8 @@ class BatchAntiSpoof extends Maintenance {
);
$iterator->setFetchColumns( [ $userCol ] );
+ $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
+
$n = 0;
foreach ( $iterator as $batch ) {
$items = [];
@@ -98,7 +98,7 @@ class BatchAntiSpoof extends Maintenance {
$n += count( $items );
$this->output( "...$n\n" );
$this->batchRecord( $items );
- $this->waitForSlaves();
+ $lbFactory->waitForReplication();
}
$this->output( "$n user(s) done.\n" );
diff --git a/AntiSpoof/maintenance/batchAntiSpoof.php b/AntiSpoof/maintenance/batchAntiSpoof.php
index 1f6121fb..e4e26205 100644
--- a/AntiSpoof/maintenance/batchAntiSpoof.php
+++ b/AntiSpoof/maintenance/batchAntiSpoof.php
@@ -18,5 +18,5 @@
require_once "BatchAntiSpoofClass.php";
-$maintClass = "BatchAntiSpoof";
+$maintClass = BatchAntiSpoof::class;
require_once RUN_MAINTENANCE_IF_MAIN;
diff --git a/AntiSpoof/package-lock.json b/AntiSpoof/package-lock.json
new file mode 100644
index 00000000..1903d5f7
--- /dev/null
+++ b/AntiSpoof/package-lock.json
@@ -0,0 +1,1732 @@
+{
+ "name": "antispoof",
+ "version": "0.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.5.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+ "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.0.0"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+ "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.0.0",
+ "esutils": "^2.0.2",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
+ },
+ "acorn": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz",
+ "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==",
+ "dev": true
+ },
+ "acorn-jsx": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
+ "integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
+ "dev": true
+ },
+ "ajv": {
+ "version": "6.10.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
+ "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^2.0.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ansi-escapes": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
+ "integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "array-find-index": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true
+ },
+ "astral-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "dev": true
+ },
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true
+ },
+ "camelcase-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
+ "dev": true,
+ "requires": {
+ "camelcase": "^2.0.0",
+ "map-obj": "^1.0.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true
+ },
+ "cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "dev": true,
+ "requires": {
+ "restore-cursor": "^3.1.0"
+ }
+ },
+ "cli-width": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "dev": true
+ },
+ "coffeescript": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz",
+ "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=",
+ "dev": true
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ },
+ "colors": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "requires": {
+ "array-find-index": "^1.0.1"
+ }
+ },
+ "dateformat": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
+ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1",
+ "meow": "^3.3.0"
+ }
+ },
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "requires": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "eslint": {
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
+ "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "ajv": "^6.10.0",
+ "chalk": "^2.1.0",
+ "cross-spawn": "^6.0.5",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^1.4.3",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^6.1.2",
+ "esquery": "^1.0.1",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^5.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "inquirer": "^7.0.0",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.3.0",
+ "lodash": "^4.17.14",
+ "minimatch": "^3.0.4",
+ "mkdirp": "^0.5.1",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.8.3",
+ "progress": "^2.0.0",
+ "regexpp": "^2.0.1",
+ "semver": "^6.1.2",
+ "strip-ansi": "^5.2.0",
+ "strip-json-comments": "^3.0.1",
+ "table": "^5.2.3",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-config-wikimedia": {
+ "version": "0.15.3",
+ "resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.15.3.tgz",
+ "integrity": "sha512-MGfUwNoW2IckRismX3L8a/CI1CKkYyXHiIyAqiu27TCQwrDubryI+rtuuFYozauB3LC5WSIOnW2m1ZljtPvPPg==",
+ "dev": true,
+ "requires": {
+ "eslint": "^6.8.0",
+ "eslint-plugin-es": "^3.0.0",
+ "eslint-plugin-json": "^2.1.1",
+ "eslint-plugin-mediawiki": "^0.2.3",
+ "eslint-plugin-no-jquery": "^2.3.2",
+ "eslint-plugin-qunit": "^4.0.0",
+ "eslint-plugin-vue": "^6.1.2"
+ }
+ },
+ "eslint-plugin-es": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.0.tgz",
+ "integrity": "sha512-6/Jb/J/ZvSebydwbBJO1R9E5ky7YeElfK56Veh7e4QGFHCXoIXGH9HhVz+ibJLM3XJ1XjP+T7rKBLUa/Y7eIng==",
+ "dev": true,
+ "requires": {
+ "eslint-utils": "^2.0.0",
+ "regexpp": "^3.0.0"
+ },
+ "dependencies": {
+ "eslint-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz",
+ "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "regexpp": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+ "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-plugin-json": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-json/-/eslint-plugin-json-2.1.1.tgz",
+ "integrity": "sha512-Ktsab8ij33V2KFLhh4alC1FYztdmbV32DeMZYYUCZm4kKLW1s4DrleKKgtbAHSJsmshCK5QGOZtfyc2r3jCRsg==",
+ "dev": true,
+ "requires": {
+ "lodash": "^4.17.15",
+ "vscode-json-languageservice": "^3.5.1"
+ }
+ },
+ "eslint-plugin-mediawiki": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.2.3.tgz",
+ "integrity": "sha512-/6CB/VdwZHIsPZ5gZJ3amwHUbEgbL6DZULXWTRwKoS+2q5t8TS1hu+EX83a1hPrxGWFusfV+bvgOi15aXVXi4Q==",
+ "dev": true,
+ "requires": {
+ "eslint-plugin-vue": "^6.2.2"
+ }
+ },
+ "eslint-plugin-no-jquery": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.3.2.tgz",
+ "integrity": "sha512-8M9GByb/JOO+dktgbFeC/YAMaqlscInO3fH3A9fLxZduH1NTXsIAUrimas6zDwOLBvEXpRaEZycc2QAl+W+Agw==",
+ "dev": true
+ },
+ "eslint-plugin-qunit": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-qunit/-/eslint-plugin-qunit-4.0.0.tgz",
+ "integrity": "sha512-+0i2xcYryUoLawi47Lp0iJKzkP931G5GXwIOq1KBKQc2pknV1VPjfE6b4mI2mR2RnL7WRoS30YjwC9SjQgJDXQ==",
+ "dev": true
+ },
+ "eslint-plugin-vue": {
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz",
+ "integrity": "sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==",
+ "dev": true,
+ "requires": {
+ "natural-compare": "^1.4.0",
+ "semver": "^5.6.0",
+ "vue-eslint-parser": "^7.0.0"
+ }
+ },
+ "eslint-scope": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
+ "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "eslint-utils": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
+ "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
+ "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
+ "dev": true
+ },
+ "espree": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
+ "integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.1.0",
+ "acorn-jsx": "^5.1.0",
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ },
+ "esquery": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
+ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.0.0"
+ }
+ },
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^4.1.0"
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "eventemitter2": {
+ "version": "0.4.14",
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
+ "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
+ "dev": true
+ },
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
+ },
+ "external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "dev": true,
+ "requires": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "dev": true
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "figures": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
+ "integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "^1.0.5"
+ }
+ },
+ "file-entry-cache": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
+ "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^2.0.1"
+ }
+ },
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "findup-sync": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
+ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
+ "dev": true,
+ "requires": {
+ "glob": "~5.0.0"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "5.0.15",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+ "dev": true,
+ "requires": {
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "2 || 3",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ }
+ }
+ },
+ "flat-cache": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
+ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
+ "dev": true,
+ "requires": {
+ "flatted": "^2.0.0",
+ "rimraf": "2.6.3",
+ "write": "1.0.3"
+ }
+ },
+ "flatted": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
+ "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
+ "dev": true
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
+ },
+ "getobject": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
+ "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
+ "dev": true
+ },
+ "glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
+ "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "globals": {
+ "version": "12.3.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
+ "integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
+ "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
+ "dev": true
+ },
+ "grunt": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.1.0.tgz",
+ "integrity": "sha512-+NGod0grmviZ7Nzdi9am7vuRS/h76PcWDsV635mEXF0PEQMUV6Kb+OjTdsVxbi0PZmfQOjCMKb3w8CVZcqsn1g==",
+ "dev": true,
+ "requires": {
+ "coffeescript": "~1.10.0",
+ "dateformat": "~1.0.12",
+ "eventemitter2": "~0.4.13",
+ "exit": "~0.1.1",
+ "findup-sync": "~0.3.0",
+ "glob": "~7.0.0",
+ "grunt-cli": "~1.2.0",
+ "grunt-known-options": "~1.1.0",
+ "grunt-legacy-log": "~2.0.0",
+ "grunt-legacy-util": "~1.1.1",
+ "iconv-lite": "~0.4.13",
+ "js-yaml": "~3.13.1",
+ "minimatch": "~3.0.2",
+ "mkdirp": "~1.0.3",
+ "nopt": "~3.0.6",
+ "path-is-absolute": "~1.0.0",
+ "rimraf": "~2.6.2"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
+ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.2",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "grunt-cli": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
+ "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
+ "dev": true,
+ "requires": {
+ "findup-sync": "~0.3.0",
+ "grunt-known-options": "~1.1.0",
+ "nopt": "~3.0.6",
+ "resolve": "~1.1.0"
+ }
+ },
+ "mkdirp": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.3.tgz",
+ "integrity": "sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g==",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+ "dev": true
+ }
+ }
+ },
+ "grunt-banana-checker": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.9.0.tgz",
+ "integrity": "sha512-SqPiB6OazWqR8USL0NymtuT5Br3mD9WBBsM1rHC/3wIi2SrZNM6/+j9CIeuEM5oCn+AtO2Y0+rzzFyOdC9afAg==",
+ "dev": true
+ },
+ "grunt-eslint": {
+ "version": "22.0.0",
+ "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-22.0.0.tgz",
+ "integrity": "sha512-I7vIU4x/mb20fmA6TAmLx6Wzn7mfs8ZXeuk7LbP2ujKVFV7KZmJ3qXUyqe2wnD+v/74Rs5uYOZrLL8EoBmlG9Q==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.1.0",
+ "eslint": "^6.0.1"
+ }
+ },
+ "grunt-known-options": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
+ "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
+ "dev": true
+ },
+ "grunt-legacy-log": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz",
+ "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==",
+ "dev": true,
+ "requires": {
+ "colors": "~1.1.2",
+ "grunt-legacy-log-utils": "~2.0.0",
+ "hooker": "~0.2.3",
+ "lodash": "~4.17.5"
+ }
+ },
+ "grunt-legacy-log-utils": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz",
+ "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==",
+ "dev": true,
+ "requires": {
+ "chalk": "~2.4.1",
+ "lodash": "~4.17.10"
+ }
+ },
+ "grunt-legacy-util": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz",
+ "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",
+ "dev": true,
+ "requires": {
+ "async": "~1.5.2",
+ "exit": "~0.1.1",
+ "getobject": "~0.1.0",
+ "hooker": "~0.2.3",
+ "lodash": "~4.17.10",
+ "underscore.string": "~3.3.4",
+ "which": "~1.3.0"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "hooker": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
+ "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
+ "dev": true
+ },
+ "hosted-git-info": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+ "dev": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true
+ },
+ "import-fresh": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "indent-string": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
+ "dev": true,
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+ "dev": true
+ },
+ "inquirer": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.3.tgz",
+ "integrity": "sha512-+OiOVeVydu4hnCGLCSX+wedovR/Yzskv9BFqUNNKq9uU2qg7LCcCo3R86S2E7WLo0y/x2pnEZfZe1CoYnORUAw==",
+ "dev": true,
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^2.4.2",
+ "cli-cursor": "^3.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.15",
+ "mute-stream": "0.0.8",
+ "run-async": "^2.2.0",
+ "rxjs": "^6.5.3",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^5.1.0",
+ "through": "^2.3.6"
+ }
+ },
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
+ "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "dev": true
+ },
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "jsonc-parser": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.2.1.tgz",
+ "integrity": "sha512-o6/yDBYccGvTz1+QFevz6l6OBZ2+fMVu2JZ9CIhzsYRX4mjaK5IyX9eldUdCmga16zlgQxyrj5pt9kzuj2C02w==",
+ "dev": true
+ },
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^2.2.0",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "strip-bom": "^2.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.19",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
+ "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
+ "dev": true
+ },
+ "loud-rejection": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "requires": {
+ "currently-unhandled": "^0.4.1",
+ "signal-exit": "^3.0.0"
+ }
+ },
+ "map-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
+ },
+ "meow": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "requires": {
+ "camelcase-keys": "^2.0.0",
+ "decamelize": "^1.1.2",
+ "loud-rejection": "^1.0.0",
+ "map-obj": "^1.0.1",
+ "minimist": "^1.1.3",
+ "normalize-package-data": "^2.3.4",
+ "object-assign": "^4.0.1",
+ "read-pkg-up": "^1.0.1",
+ "redent": "^1.0.0",
+ "trim-newlines": "^1.0.0"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ }
+ }
+ },
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "mkdirp": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.3.tgz",
+ "integrity": "sha512-P+2gwrFqx8lhew375MQHHeTlY8AuOJSrGf0R5ddkEndUkmwpgUob/vQuBD1V22/Cw1/lJr4x+EjllSezBThzBg==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "dev": true
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "dev": true
+ },
+ "nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "onetime": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+ "dev": true,
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dev": true,
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ }
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "dev": true
+ },
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "^1.2.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
+ "requires": {
+ "pinkie": "^2.0.0"
+ }
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true
+ },
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+ "dev": true,
+ "requires": {
+ "load-json-file": "^1.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^1.0.0"
+ }
+ },
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
+ "requires": {
+ "find-up": "^1.0.0",
+ "read-pkg": "^1.0.0"
+ }
+ },
+ "redent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "requires": {
+ "indent-string": "^2.1.0",
+ "strip-indent": "^1.0.1"
+ }
+ },
+ "regexpp": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
+ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
+ "dev": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
+ "requires": {
+ "is-finite": "^1.0.0"
+ }
+ },
+ "resolve": {
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz",
+ "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==",
+ "dev": true,
+ "requires": {
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "dev": true,
+ "requires": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "run-async": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+ "dev": true,
+ "requires": {
+ "is-promise": "^2.1.0"
+ }
+ },
+ "rxjs": {
+ "version": "6.5.4",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+ "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
+ "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
+ "dev": true
+ },
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^1.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
+ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.0",
+ "astral-regex": "^1.0.0",
+ "is-fullwidth-code-point": "^2.0.0"
+ },
+ "dependencies": {
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ }
+ }
+ },
+ "spdx-correct": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+ "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+ "dev": true,
+ "requires": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-exceptions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+ "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+ "dev": true
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ }
+ }
+ },
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
+ "requires": {
+ "is-utf8": "^0.2.0"
+ }
+ },
+ "strip-indent": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "requires": {
+ "get-stdin": "^4.0.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
+ "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "table": {
+ "version": "5.4.6",
+ "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
+ "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.10.2",
+ "lodash": "^4.17.14",
+ "slice-ansi": "^2.1.0",
+ "string-width": "^3.0.0"
+ },
+ "dependencies": {
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ }
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "requires": {
+ "os-tmpdir": "~1.0.2"
+ }
+ },
+ "trim-newlines": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "dev": true
+ },
+ "tslib": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
+ "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ },
+ "underscore.string": {
+ "version": "3.3.5",
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
+ "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "^1.0.3",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "v8-compile-cache": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
+ "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
+ "dev": true
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "vscode-json-languageservice": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-3.5.2.tgz",
+ "integrity": "sha512-9cUvBq00O08lpWVVOx6tQ1yLxCHss79nsUdEAVYGomRyMbnPBmc0AkYPcXI9WK1EM6HBo0R9Zo3NjFhcICpy4A==",
+ "dev": true,
+ "requires": {
+ "jsonc-parser": "^2.2.1",
+ "vscode-languageserver-textdocument": "^1.0.1",
+ "vscode-languageserver-types": "^3.15.1",
+ "vscode-nls": "^4.1.1",
+ "vscode-uri": "^2.1.1"
+ }
+ },
+ "vscode-languageserver-textdocument": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz",
+ "integrity": "sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA==",
+ "dev": true
+ },
+ "vscode-languageserver-types": {
+ "version": "3.15.1",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz",
+ "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==",
+ "dev": true
+ },
+ "vscode-nls": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-4.1.2.tgz",
+ "integrity": "sha512-7bOHxPsfyuCqmP+hZXscLhiHwe7CSuFE4hyhbs22xPIhQ4jv99FcR4eBzfYYVLP356HNFpdvz63FFb/xw6T4Iw==",
+ "dev": true
+ },
+ "vscode-uri": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.1.tgz",
+ "integrity": "sha512-eY9jmGoEnVf8VE8xr5znSah7Qt1P/xsCdErz+g8HYZtJ7bZqKH5E3d+6oVNm1AC/c6IHUDokbmVXKOi4qPAC9A==",
+ "dev": true
+ },
+ "vue-eslint-parser": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.0.0.tgz",
+ "integrity": "sha512-yR0dLxsTT7JfD2YQo9BhnQ6bUTLsZouuzt9SKRP7XNaZJV459gvlsJo4vT2nhZ/2dH9j3c53bIx9dnqU2prM9g==",
+ "dev": true,
+ "requires": {
+ "debug": "^4.1.1",
+ "eslint-scope": "^5.0.0",
+ "eslint-visitor-keys": "^1.1.0",
+ "espree": "^6.1.2",
+ "esquery": "^1.0.1",
+ "lodash": "^4.17.15"
+ }
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "write": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
+ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
+ "dev": true,
+ "requires": {
+ "mkdirp": "^0.5.1"
+ }
+ }
+ }
+}
diff --git a/AntiSpoof/package.json b/AntiSpoof/package.json
index a0368a53..432f4788 100644
--- a/AntiSpoof/package.json
+++ b/AntiSpoof/package.json
@@ -7,8 +7,9 @@
"test": "grunt test"
},
"devDependencies": {
- "grunt": "1.0.3",
- "grunt-banana-checker": "0.6.0",
- "grunt-jsonlint": "1.1.0"
+ "eslint-config-wikimedia": "0.15.3",
+ "grunt": "1.1.0",
+ "grunt-banana-checker": "0.9.0",
+ "grunt-eslint": "22.0.0"
}
}
diff --git a/AntiSpoof/tests/phan/config.php b/AntiSpoof/tests/phan/config.php
deleted file mode 100644
index f2660b8a..00000000
--- a/AntiSpoof/tests/phan/config.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
-
-return require __DIR__ . '/../../vendor/mediawiki/mediawiki-phan-config/src/config.php';
diff --git a/AntiSpoof/tests/phpunit/AntiSpoofPreAuthenticationProviderTest.php b/AntiSpoof/tests/phpunit/AntiSpoofPreAuthenticationProviderTest.php
index 2a0c56f2..b20bbe19 100644
--- a/AntiSpoof/tests/phpunit/AntiSpoofPreAuthenticationProviderTest.php
+++ b/AntiSpoof/tests/phpunit/AntiSpoofPreAuthenticationProviderTest.php
@@ -1,28 +1,20 @@
<?php
use MediaWiki\Auth\AuthManager;
+use MediaWiki\MediaWikiServices;
/**
* @covers AntiSpoofPreAuthenticationProvider
* @group Database
*/
class AntiSpoofPreAuthenticationProviderTest extends MediaWikiTestCase {
- public function setUp() {
- global $wgDisableAuthManager;
- if ( !class_exists( AuthManager::class ) || $wgDisableAuthManager ) {
- $this->markTestSkipped( 'AuthManager is disabled' );
- }
-
- parent::setUp();
- }
-
/**
* @dataProvider provideGetAuthenticationRequests
*/
public function testGetAuthenticationRequests( $action, $params, $username, $expectedReqs ) {
$this->setMwGlobals( 'wgAntiSpoofAccounts', false );
$provider = new AntiSpoofPreAuthenticationProvider( $params );
- $provider->setManager( AuthManager::singleton() );
+ $provider->setManager( MediaWikiServices::getInstance()->getAuthManager() );
$reqs = $provider->getAuthenticationRequests( $action, [ 'username' => $username ] );
$this->assertEquals( $expectedReqs, $reqs );
}
@@ -53,7 +45,7 @@ class AntiSpoofPreAuthenticationProviderTest extends MediaWikiTestCase {
->disableOriginalConstructor()->getMock();
$provider->expects( $this->any() )->method( 'getSpoofUser' )->willReturn( $spoofUser );
/** @var $provider \MediaWiki\Auth\PreAuthenticationProvider */
- $provider->setManager( AuthManager::singleton() );
+ $provider->setManager( MediaWikiServices::getInstance()->getAuthManager() );
$provider->setLogger( new \Psr\Log\NullLogger() );
$spoofUser->expects( $this->any() )->method( 'isLegal' )->willReturn( $isLegal );
diff --git a/AntiSpoof/tests/phpunit/SpoofUserTest.php b/AntiSpoof/tests/phpunit/SpoofUserTest.php
index a84e50c3..83b80109 100644
--- a/AntiSpoof/tests/phpunit/SpoofUserTest.php
+++ b/AntiSpoof/tests/phpunit/SpoofUserTest.php
@@ -20,7 +20,7 @@ class SpoofUserTest extends MediaWikiTestCase {
'ILIKECAPSLOCKS',
];
- public function setUp() {
+ public function setUp() : void {
parent::setUp();
// Put some stuff in the database
diff --git a/AntiSpoof/version b/AntiSpoof/version
deleted file mode 100644
index 39bd16d8..00000000
--- a/AntiSpoof/version
+++ /dev/null
@@ -1,4 +0,0 @@
-AntiSpoof: REL1_32
-2018-10-17T02:01:24
-
-3c938bd