@prosopo/locale 3.1.26 → 3.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build$colon$cjs.log +5 -5
- package/.turbo/turbo-build$colon$tsc.log +14 -0
- package/.turbo/turbo-build.log +9 -5
- package/.turbo/turbo-typecheck.log +1 -1
- package/CHANGELOG.md +81 -0
- package/dist/cjs/i18SharedOptions.cjs +2 -1
- package/dist/cjs/locales/en/translation.json.cjs +3 -3
- package/dist/i18SharedOptions.d.ts.map +1 -1
- package/dist/i18SharedOptions.js +2 -1
- package/dist/i18SharedOptions.js.map +1 -0
- package/dist/i18nBackend.js.map +1 -0
- package/dist/i18nFrontend.js.map +1 -0
- package/dist/i18nMiddleware.js.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/loadI18next.js.map +1 -0
- package/dist/locales/ar/translation.json +19 -3
- package/dist/locales/az/translation.json +19 -3
- package/dist/locales/cs/translation.json +19 -3
- package/dist/locales/de/translation.json +19 -3
- package/dist/locales/el/translation.json +19 -3
- package/dist/locales/en/translation.json +19 -3
- package/dist/locales/en/translation.json.js +3 -3
- package/dist/locales/es/translation.json +20 -4
- package/dist/locales/fi/translation.json +19 -3
- package/dist/locales/fr/translation.json +19 -3
- package/dist/locales/hi/translation.json +19 -3
- package/dist/locales/hu/translation.json +19 -3
- package/dist/locales/id/translation.json +19 -3
- package/dist/locales/it/translation.json +19 -3
- package/dist/locales/ja/translation.json +19 -3
- package/dist/locales/jv/translation.json +19 -3
- package/dist/locales/ko/translation.json +19 -3
- package/dist/locales/ml/translation.json +19 -3
- package/dist/locales/ms/translation.json +19 -3
- package/dist/locales/nl/translation.json +19 -3
- package/dist/locales/no/translation.json +19 -3
- package/dist/locales/pl/translation.json +19 -3
- package/dist/locales/pt/translation.json +19 -3
- package/dist/locales/pt-BR/translation.json +19 -3
- package/dist/locales/ro/translation.json +19 -3
- package/dist/locales/ru/translation.json +19 -3
- package/dist/locales/sr/translation.json +427 -411
- package/dist/locales/sv/translation.json +19 -3
- package/dist/locales/th/translation.json +19 -3
- package/dist/locales/tr/translation.json +19 -3
- package/dist/locales/uk/translation.json +19 -3
- package/dist/locales/vi/translation.json +19 -3
- package/dist/locales/zh-CN/translation.json +19 -3
- package/dist/tests/locales.unit.test.js +49 -0
- package/dist/tests/locales.unit.test.js.map +1 -0
- package/dist/translationKey.js.map +1 -0
- package/dist/translations.js.map +1 -0
- package/dist/useTranslation.js.map +1 -0
- package/dist/util.js.map +1 -0
- package/package.json +6 -4
- package/src/i18SharedOptions.ts +29 -0
- package/src/i18nBackend.ts +53 -0
- package/src/i18nFrontend.ts +81 -0
- package/src/i18nMiddleware.ts +25 -0
- package/src/index.ts +22 -0
- package/src/loadI18next.ts +49 -0
- package/src/locales/ar/translation.json +459 -0
- package/src/locales/az/translation.json +459 -0
- package/src/locales/cs/translation.json +459 -0
- package/src/locales/de/translation.json +459 -0
- package/src/locales/el/translation.json +459 -0
- package/src/locales/en/translation.json +459 -0
- package/src/locales/es/translation.json +459 -0
- package/src/locales/fi/translation.json +459 -0
- package/src/locales/fr/translation.json +459 -0
- package/src/locales/hi/translation.json +459 -0
- package/src/locales/hu/translation.json +459 -0
- package/src/locales/id/translation.json +459 -0
- package/src/locales/it/translation.json +459 -0
- package/src/locales/ja/translation.json +459 -0
- package/src/locales/jv/translation.json +459 -0
- package/src/locales/ko/translation.json +459 -0
- package/src/locales/ml/translation.json +459 -0
- package/src/locales/ms/translation.json +459 -0
- package/src/locales/nl/translation.json +459 -0
- package/src/locales/no/translation.json +459 -0
- package/src/locales/pl/translation.json +459 -0
- package/src/locales/pt/translation.json +459 -0
- package/src/locales/pt-BR/translation.json +459 -0
- package/src/locales/ro/translation.json +459 -0
- package/src/locales/ru/translation.json +459 -0
- package/src/locales/sr/translation.json +459 -0
- package/src/locales/sv/translation.json +459 -0
- package/src/locales/th/translation.json +459 -0
- package/src/locales/tr/translation.json +459 -0
- package/src/locales/uk/translation.json +459 -0
- package/src/locales/vi/translation.json +459 -0
- package/src/locales/zh-CN/translation.json +459 -0
- package/src/tests/locales.unit.test.ts +79 -0
- package/src/translationKey.ts +48 -0
- package/src/translations.ts +54 -0
- package/src/useTranslation.ts +32 -0
- package/src/util.ts +25 -0
- package/tsconfig.cjs.json +18 -0
- package/tsconfig.json +19 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/tsconfig.types.json +9 -0
- package/vite.cjs.config.ts +1 -1
- package/vite.esm.config.ts +1 -1
- package/vite.test.config.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/locale@3.
|
|
2
|
+
> @prosopo/locale@3.2.4 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -10,22 +10,22 @@ Bundle build started
|
|
|
10
10
|
transforming...
|
|
11
11
|
Build end
|
|
12
12
|
[32m✓[39m 11 modules transformed.
|
|
13
|
-
[33mEntry module "src/locales/en/translation.json" is using named and default exports together. Consumers of your bundle will have to use `..default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.[39m
|
|
14
13
|
[33mEntry module "src/i18nBackend.ts" is using named and default exports together. Consumers of your bundle will have to use `..default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.[39m
|
|
15
14
|
[33mEntry module "src/i18nFrontend.ts" is using named and default exports together. Consumers of your bundle will have to use `..default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.[39m
|
|
15
|
+
[33mEntry module "src/locales/en/translation.json" is using named and default exports together. Consumers of your bundle will have to use `..default` to access the default export, which may not be what you want. Use `output.exports: "named"` to disable this warning.[39m
|
|
16
16
|
rendering chunks...
|
|
17
17
|
[2mdist/cjs/[22m[36museTranslation.cjs [39m[1m[2m 0.30 kB[22m[1m[22m
|
|
18
18
|
[2mdist/cjs/[22m[36mi18nMiddleware.cjs [39m[1m[2m 0.31 kB[22m[1m[22m
|
|
19
19
|
[2mdist/cjs/[22m[36mutil.cjs [39m[1m[2m 0.35 kB[22m[1m[22m
|
|
20
|
-
[2mdist/cjs/[22m[36mi18SharedOptions.cjs [39m[1m[2m 0.
|
|
20
|
+
[2mdist/cjs/[22m[36mi18SharedOptions.cjs [39m[1m[2m 0.51 kB[22m[1m[22m
|
|
21
21
|
[2mdist/cjs/[22m[36mindex.cjs [39m[1m[2m 0.72 kB[22m[1m[22m
|
|
22
22
|
[2mdist/cjs/[22m[36mtranslationKey.cjs [39m[1m[2m 0.73 kB[22m[1m[22m
|
|
23
23
|
[2mdist/cjs/[22m[36mloadI18next.cjs [39m[1m[2m 0.78 kB[22m[1m[22m
|
|
24
24
|
[2mdist/cjs/[22m[36mtranslations.cjs [39m[1m[2m 0.83 kB[22m[1m[22m
|
|
25
25
|
[2mdist/cjs/[22m[36mi18nBackend.cjs [39m[1m[2m 1.41 kB[22m[1m[22m
|
|
26
26
|
[2mdist/cjs/[22m[36mi18nFrontend.cjs [39m[1m[2m 2.79 kB[22m[1m[22m
|
|
27
|
-
[2mdist/cjs/[22m[36mlocales/en/translation.json.cjs [39m[1m[
|
|
28
|
-
[32m✓ built in
|
|
27
|
+
[2mdist/cjs/[22m[36mlocales/en/translation.json.cjs [39m[1m[2m15.37 kB[22m[1m[22m
|
|
28
|
+
[32m✓ built in 287ms[39m
|
|
29
29
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/ar/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/ar/translation.json
|
|
30
30
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/az/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/az/translation.json
|
|
31
31
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/cs/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/cs/translation.json
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
> @prosopo/locale@3.2.4 build:tsc
|
|
3
|
+
> tsc --build --verbose
|
|
4
|
+
|
|
5
|
+
8:13:55 AM - Projects in this build:
|
|
6
|
+
* ../../dev/config/tsconfig.json
|
|
7
|
+
* tsconfig.json
|
|
8
|
+
|
|
9
|
+
8:13:55 AM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/webpack/webpack.config.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
|
|
10
|
+
|
|
11
|
+
8:13:55 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
12
|
+
|
|
13
|
+
8:13:55 AM - Building project '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json'...
|
|
14
|
+
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/locale@3.
|
|
3
|
-
>
|
|
2
|
+
> @prosopo/locale@3.2.4 build
|
|
3
|
+
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
> @prosopo/locale@3.2.4 build:cross-env
|
|
7
|
+
> vite build --config vite.esm.config.ts --mode production
|
|
4
8
|
|
|
5
9
|
ViteEsmConfig: .
|
|
6
10
|
{ tsConfigPaths: [] }
|
|
@@ -14,15 +18,15 @@ rendering chunks...
|
|
|
14
18
|
[2mdist/[22m[36mutil.js [39m[1m[2m 0.23 kB[22m[1m[22m
|
|
15
19
|
[2mdist/[22m[36mi18nMiddleware.js [39m[1m[2m 0.26 kB[22m[1m[22m
|
|
16
20
|
[2mdist/[22m[36museTranslation.js [39m[1m[2m 0.29 kB[22m[1m[22m
|
|
17
|
-
[2mdist/[22m[36mi18SharedOptions.js [39m[1m[2m 0.
|
|
21
|
+
[2mdist/[22m[36mi18SharedOptions.js [39m[1m[2m 0.39 kB[22m[1m[22m
|
|
18
22
|
[2mdist/[22m[36mindex.js [39m[1m[2m 0.51 kB[22m[1m[22m
|
|
19
23
|
[2mdist/[22m[36mtranslationKey.js [39m[1m[2m 0.61 kB[22m[1m[22m
|
|
20
24
|
[2mdist/[22m[36mtranslations.js [39m[1m[2m 0.71 kB[22m[1m[22m
|
|
21
25
|
[2mdist/[22m[36mloadI18next.js [39m[1m[2m 0.71 kB[22m[1m[22m
|
|
22
26
|
[2mdist/[22m[36mi18nBackend.js [39m[1m[2m 0.88 kB[22m[1m[22m
|
|
23
27
|
[2mdist/[22m[36mi18nFrontend.js [39m[1m[2m 2.03 kB[22m[1m[22m
|
|
24
|
-
[2mdist/[22m[36mlocales/en/translation.json.js [39m[1m[
|
|
25
|
-
[32m✓ built in
|
|
28
|
+
[2mdist/[22m[36mlocales/en/translation.json.js [39m[1m[2m15.04 kB[22m[1m[22m
|
|
29
|
+
[32m✓ built in 262ms[39m
|
|
26
30
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/ar/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/ar/translation.json
|
|
27
31
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/az/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/az/translation.json
|
|
28
32
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/cs/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/cs/translation.json
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,86 @@
|
|
|
1
1
|
# @prosopo/locale
|
|
2
2
|
|
|
3
|
+
## 3.2.4
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- 5786629: fix(provider): persist DISALLOWED_WEBVIEW outcome and broaden detection in image captcha verify
|
|
7
|
+
|
|
8
|
+
The webview check in `verifyImageCaptchaSolution` did an early return that
|
|
9
|
+
left the commitment stuck at `Approved` in the database and never marked
|
|
10
|
+
the session as `serverChecked` / `disapproved`, even though the API
|
|
11
|
+
correctly returned `verified: false`. This made the DB state misleading
|
|
12
|
+
and broke any downstream consumer reading commitment status directly.
|
|
13
|
+
|
|
14
|
+
The check also only fired when `scoreComponents.webView > 0`, which is
|
|
15
|
+
only set when the frictionless flow took the webview branch. Webview
|
|
16
|
+
users who reached the image captcha via another branch (UA mismatch,
|
|
17
|
+
context-aware failure, timestamp, bot score) had `session.webView: true`
|
|
18
|
+
but no `scoreComponents.webView`, so the verify-time block missed them.
|
|
19
|
+
|
|
20
|
+
- Convert the early return to the same `failStatus` /
|
|
21
|
+
`commitmentUpdates.result` pattern used by every other check in the
|
|
22
|
+
function, so the commitment and session are properly persisted as
|
|
23
|
+
disapproved with reason `DISALLOWED_WEBVIEW`.
|
|
24
|
+
- Trigger on `session.webView === true` OR `scoreComponents.webView > 0`.
|
|
25
|
+
- Add `ResultReason.DISALLOWED_WEBVIEW` and the English locale entry.
|
|
26
|
+
- Add unit tests for score-based detection, boolean-only detection, and
|
|
27
|
+
the `disallowWebView=false` passthrough.
|
|
28
|
+
|
|
29
|
+
Closes #3396.
|
|
30
|
+
|
|
31
|
+
## 3.2.3
|
|
32
|
+
### Patch Changes
|
|
33
|
+
|
|
34
|
+
- 53bfd45: Detect when the widget is served over plain HTTP (an insecure browser context)
|
|
35
|
+
and show a clear "Procaptcha requires a secure (HTTPS) connection" message
|
|
36
|
+
instead of failing later with a cryptic `Provider Selection Failed` error.
|
|
37
|
+
Procaptcha depends on secure-context-only browser APIs (e.g. SubtleCrypto), so
|
|
38
|
+
the frictionless widget now short-circuits before the provider-selection retry
|
|
39
|
+
loop when `window.isSecureContext` is false. Adds the `WIDGET.INSECURE_CONTEXT`
|
|
40
|
+
translation key across all locales and an `isSecureBrowserContext` helper.
|
|
41
|
+
|
|
42
|
+
## 3.2.2
|
|
43
|
+
### Patch Changes
|
|
44
|
+
|
|
45
|
+
- 4aae4e6: Guard the `process.env` reads in `i18nSharedOptions` and `version` so both
|
|
46
|
+
packages are loadable in a plain browser runtime (e.g. Vite dev/preview
|
|
47
|
+
servers) where `process` is undefined. Without the guard, any consumer that
|
|
48
|
+
side-effectfully imports `@prosopo/types` — which transitively reaches
|
|
49
|
+
`@prosopo/locale` via `LanguageSchema` — would crash the page with
|
|
50
|
+
`ReferenceError: process is not defined`.
|
|
51
|
+
|
|
52
|
+
## 3.2.1
|
|
53
|
+
### Patch Changes
|
|
54
|
+
|
|
55
|
+
- b94890c: Translations
|
|
56
|
+
|
|
57
|
+
## 3.2.0
|
|
58
|
+
### Minor Changes
|
|
59
|
+
|
|
60
|
+
- 42650db: Add better spam rules and move ipinfo service to local instead of external
|
|
61
|
+
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- fc514dd: ability to block different types of traffic
|
|
65
|
+
|
|
66
|
+
## 3.1.29
|
|
67
|
+
### Patch Changes
|
|
68
|
+
|
|
69
|
+
- adb89a6: Disposable email checking
|
|
70
|
+
|
|
71
|
+
## 3.1.28
|
|
72
|
+
### Patch Changes
|
|
73
|
+
|
|
74
|
+
- 0a38892: feat/cross-os-testing
|
|
75
|
+
- a8faa9a: bump license year
|
|
76
|
+
- fe9fe22: adding api returns
|
|
77
|
+
- 3acc333: Release 3.3.0
|
|
78
|
+
|
|
79
|
+
## 3.1.27
|
|
80
|
+
### Patch Changes
|
|
81
|
+
|
|
82
|
+
- e01227b: add turbo
|
|
83
|
+
|
|
3
84
|
## 3.1.26
|
|
4
85
|
### Patch Changes
|
|
5
86
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const translations = require("./translations.cjs");
|
|
4
|
+
const logLevel = typeof process !== "undefined" ? process.env?.PROSOPO_LOG_LEVEL : void 0;
|
|
4
5
|
const i18nSharedOptions = {
|
|
5
|
-
debug:
|
|
6
|
+
debug: logLevel === "debug",
|
|
6
7
|
fallbackLng: translations.LanguageSchema.enum.en,
|
|
7
8
|
namespace: "translation",
|
|
8
9
|
supportedLngs: Object.values(translations.Languages),
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const ACCOUNT = { "NO_POLKADOT_EXTENSION": "Polkadot extension not found" };
|
|
4
|
-
const WIDGET = { "SELECT_ALL": "Select all containing the following", "IF_NONE_CLICK_NEXT": "If there are none, click Next", "NEXT": "Next", "SUBMIT": "Submit", "CANCEL": "Cancel", "I_AM_HUMAN": "I am human", "NO_ACCOUNTS_FOUND": "No accounts found", "ACCOUNT_NOT_FOUND": "Account not found", "NO_EXTENSION_FOUND": "No extension found" };
|
|
4
|
+
const WIDGET = { "SELECT_ALL": "Select all containing the following", "IF_NONE_CLICK_NEXT": "If there are none, click Next", "NEXT": "Next", "SUBMIT": "Submit", "CANCEL": "Cancel", "I_AM_HUMAN": "I am human", "NO_ACCOUNTS_FOUND": "No accounts found", "ACCOUNT_NOT_FOUND": "Account not found", "NO_EXTENSION_FOUND": "No extension found", "INSECURE_CONTEXT": "Procaptcha requires a secure (HTTPS) connection" };
|
|
5
5
|
const GENERAL = { "JSON_LOAD_FAILED": "Failed to load JSON file", "MNEMONIC_UNDEFINED": "Mnemonic Undefined. Please set the mnemonic in environment variables", "NO_MNEMONIC_OR_SEED": "No secret provided", "CANT_FIND_KEYRINGPAIR": "Can't find the keyringpair for {{address}}", "ENVIRONMENT_NOT_READY": "Environment not ready", "INVALID_SIGNATURE": "Invalid signature", "SITE_KEY_MISSING": "SITE KEY missing", "ACCOUNT_NOT_FOUND": "Account not found", "SITE_KEY_NOT_FOUND": "Site key not found", "INVALID_TIMESTAMP": "Invalid timestamp", "MISSING_SECRET_KEY": "Missing secret key" };
|
|
6
6
|
const CONTRACT = { "INVALID_ADDRESS": "Failed to encode invalid address", "CAPTCHA_SOLUTION_COMMITMENT_DOES_NOT_EXIST": "Captcha solution commitment does not exist", "SIGNER_UNDEFINED": "Signer undefined", "CANNOT_FIND_KEYPAIR": "Cannot find keypair", "INVALID_DATA_FORMAT": "Invalid data format" };
|
|
7
7
|
const CONFIG = { "UNKNOWN_ENVIRONMENT": "Unknown environment requested", "INVALID_CAPTCHA_NUMBER": "Please configure captchas configurations correctly", "INVALID_LOG_LEVEL": "Invalid log level", "INVALID_PACKAGE_DIR": "Invalid package directory" };
|
|
8
8
|
const DATASET = { "DATASET_PARSE_ERROR": "Error parsing dataset", "SOLUTION_PARSE_ERROR": "Error parsing dataset", "HASH_ERROR": "Error hashing dataset", "DATASET_ID_UNDEFINED": "Dataset id undefined", "NOT_ENOUGH_LABELS": "Not enough labels", "NOT_ENOUGH_IMAGES": "Not enough images", "CAPTCHAS_COUNT_LESS_THAN_CONFIGURED": "Number of captchas in dataset is less than configured number of captchas", "SOLUTIONS_COUNT_LESS_THAN_CONFIGURED": "Number of solutions in dataset is less than configured number of solutions", "DUPLICATE_IMAGE": "duplicate image detected", "MERKLE_ERROR": "Error creating merkle tree" };
|
|
9
9
|
const DATABASE = { "DATABASE_IMPORT_FAILED": "Failed to import database engine", "DATABASE_UNDEFINED": "Database client is not connected", "DATABASE_HOST_UNDEFINED": "Database host address is not defined", "DATASET_LOAD_FAILED": "Data set load failed", "DATASET_GET_FAILED": "Failed to get dataset", "CAPTCHA_GET_FAILED": "Failed to get captcha", "CAPTCHA_UPDATE_FAILED": "Failed to update captcha", "IMAGE_GET_FAILED": "Failed to get image", "PENDING_RECORD_NOT_FOUND": "No pending record found", "INVALID_HASH": "Invalid hash", "SOLUTION_GET_FAILED": "Failed to get solution", "DATASET_WITH_SOLUTIONS_GET_FAILED": "No datasets found with required number of solutions", "SOLUTION_APPROVE_FAILED": "Failed to approve solution", "SOLUTION_FLAG_FAILED": "Failed to flag solution as processed", "TABLES_UNDEFINED": "Tables undefined", "CONNECTION_UNDEFINED": "Connection undefined", "COMMITMENT_FLAG_FAILED": "Failed to flag commitment as processed", "UNKNOWN": "Unknown database error" };
|
|
10
10
|
const CAPTCHA = { "PARSE_ERROR": "Error parsing captcha", "INVALID_CAPTCHA_ID": "Invalid captcha id", "INVALID_ITEM_FORMAT": "Only image and text item types allowed", "INVALID_SOLUTION_TYPE": "Invalid solution type", "INVALID_ITEM_HASH": "Invalid item hash", "DIFFERENT_DATASET_IDS": "Dataset ids do not match", "ID_MISMATCH": "captcha id mismatch", "MISSING_ITEM_HASH": "missing item hash", "INVALID_CAPTCHA_CHALLENGE": "Invalid captcha challenge", "DAPP_USER_SOLUTION_NOT_FOUND": "Dapp user solution not found", "NO_CAPTCHA": "No captcha found", "NO_SESSION_FOUND": "No session found", "IP_ADDRESS_MISMATCH": "IP address mismatch detected", "INVALID_TOKEN": "Invalid token", "INVALID_SOLUTION": "Invalid solution", "DECRYPTION_ERROR": "Error decrypting" };
|
|
11
|
-
const API = { "CAPTCHA_FAILED": "You answered one or more captchas incorrectly. Please try again", "CAPTCHA_PASSED": "You correctly answered the captchas", "BAD_REQUEST": "BadRequest", "USER_VERIFIED": "User verified", "USER_NOT_VERIFIED": "User not verified", "USER_NOT_VERIFIED_TIME_EXPIRED": "User not verified. Captcha solution has expired.", "USER_NOT_VERIFIED_NO_SOLUTION": "User not verified. No captcha solution found.", "USER_ALREADY_VERIFIED": "This solution has already been verified. User should complete a new captcha.", "UNKNOWN": "Unknown API error", "SITE_KEY_NOT_REGISTERED": "Site key not registered", "INCORRECT_CAPTCHA_TYPE": "Incorrect CAPTCHA type", "INSUFFICIENT_PERMISSIONS": "Insufficient permissions to perform this action", "INVALID_SITE_KEY": "Invalid site key", "UNAUTHORIZED_ORIGIN_URL": "Unauthorized origin URL", "UNAUTHORIZED": "Unauthorized", "INVALID_IP": "Invalid IP", "INVALID_URL": "Invalid URL", "INVALID_BODY": "Invalid body", "MISSING_BODY": "Missing body", "MISSING_QUERY_PARAMETERS": "Missing query parameters", "MISSING_AUTHORIZATION_HEADER": "Missing authorization header", "PARSE_ERROR": "Error parsing request", "NO_CONTENT_TYPE_HEADER": "No content-type header. Assumed JSON encoded body but failed to parse.", "TIMESTAMP_TOO_OLD": "Timestamp too old", "FORBIDDEN": "Forbidden", "PROVIDER_VERIFY_FAILED": "Provider verification failed" };
|
|
12
|
-
const PORTAL = { "CANNOT_MODIFY_OWNER_USER": "Cannot modify owner user", "CANNOT_DELETE_OWN_USER": "Cannot delete your own account", "CANNOT_DELETE_LAST_USER": "Cannot delete last user", "USER_ALREADY_EXISTS": "User already exists", "NO_SUGGESTIONS_FOUND": "No suggestions found", "CANNOT_DEACTIVATE_LAST_SITE": "Cannot deactivate the last active site" };
|
|
11
|
+
const API = { "CAPTCHA_FAILED": "You answered one or more captchas incorrectly. Please try again", "CAPTCHA_PASSED": "You correctly answered the captchas", "BAD_REQUEST": "BadRequest", "USER_VERIFIED": "User verified", "USER_NOT_VERIFIED": "User not verified", "USER_NOT_VERIFIED_TIME_EXPIRED": "User not verified. Captcha solution has expired.", "USER_NOT_VERIFIED_NO_SOLUTION": "User not verified. No captcha solution found.", "USER_ALREADY_VERIFIED": "This solution has already been verified. User should complete a new captcha.", "UNKNOWN": "Unknown API error", "SITE_KEY_NOT_REGISTERED": "Site key not registered", "INCORRECT_CAPTCHA_TYPE": "Incorrect CAPTCHA type", "INSUFFICIENT_PERMISSIONS": "Insufficient permissions to perform this action", "INVALID_SITE_KEY": "Invalid site key", "UNAUTHORIZED_ORIGIN_URL": "Unauthorized origin URL", "UNAUTHORIZED": "Unauthorized", "INVALID_IP": "Invalid IP", "INVALID_URL": "Invalid URL", "INVALID_BODY": "Invalid body", "MISSING_BODY": "Missing body", "MISSING_QUERY_PARAMETERS": "Missing query parameters", "MISSING_AUTHORIZATION_HEADER": "Missing authorization header", "PARSE_ERROR": "Error parsing request", "NO_CONTENT_TYPE_HEADER": "No content-type header. Assumed JSON encoded body but failed to parse.", "TIMESTAMP_TOO_OLD": "Timestamp too old", "FAILED_IP_VALIDATION": "IP validation failed", "ACCESS_POLICY_BLOCK": "Access blocked by policy", "FORBIDDEN": "Forbidden", "PROVIDER_VERIFY_FAILED": "Provider verification failed", "SPAM_EMAIL_DOMAIN": "Email domain not allowed", "SPAM_EMAIL_RULE": "Email address blocked by spam filter rules", "VPN_BLOCKED": "Requests from VPN connections are not allowed for this site", "PROXY_BLOCKED": "Requests from proxy servers are not allowed for this site", "TOR_BLOCKED": "Requests from Tor exit nodes are not allowed for this site", "ABUSER_BLOCKED": "Requests from networks flagged for abuse are not allowed for this site", "DATACENTER_BLOCKED": "Requests from datacenter IP addresses are not allowed for this site", "MOBILE_BLOCKED": "Requests from mobile network connections are not allowed for this site", "SATELLITE_BLOCKED": "Requests from satellite connections are not allowed for this site", "CRAWLER_BLOCKED": "Requests from known crawlers are not allowed for this site", "DISALLOWED_WEBVIEW": "Requests from in-app browsers (WebViews) are not allowed for this site" };
|
|
12
|
+
const PORTAL = { "CANNOT_MODIFY_OWNER_USER": "Cannot modify owner user", "CANNOT_DELETE_OWN_USER": "Cannot delete your own account", "CANNOT_DELETE_LAST_USER": "Cannot delete last user", "USER_ALREADY_EXISTS": "User already exists", "NO_SUGGESTIONS_FOUND": "No suggestions found", "CANNOT_DEACTIVATE_LAST_SITE": "Cannot deactivate the last active site", "DUPLICATE_SITE_NAME": "A site with this name already exists", "INVALID_SITE_NAME": "Site name must contain only letters, numbers, hyphens, and underscores" };
|
|
13
13
|
const CLI = { "PARAMETER_ERROR": "Invalid parameter" };
|
|
14
14
|
const DEVELOPER = { "PROSOPO_SITE_KEY_MISSING": "PROSOPO_SITE_KEY is not set in .env file.", "PROVIDER_NO_CAPTCHA": "No captchas returned from provider", "MISSING_PROVIDER_PAIR": "Missing provider pair", "MISSING_ENV_VARIABLE": "Missing environment variable", "GENERAL": "General Dev Error, see context", "METHOD_NOT_IMPLEMENTED": "Method not implemented" };
|
|
15
15
|
const FS = { "FILE_NOT_FOUND": "File not found", "FILE_ALREADY_EXISTS": "File already exists", "INVALID_DIR_FORMAT": "Invalid directory format" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18SharedOptions.d.ts","sourceRoot":"","sources":["../src/i18SharedOptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"i18SharedOptions.d.ts","sourceRoot":"","sources":["../src/i18SharedOptions.ts"],"names":[],"mappings":"AAsBA,eAAO,MAAM,iBAAiB;;;;;;CAM7B,CAAC"}
|
package/dist/i18SharedOptions.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Languages, LanguageSchema } from "./translations.js";
|
|
2
|
+
const logLevel = typeof process !== "undefined" ? process.env?.PROSOPO_LOG_LEVEL : void 0;
|
|
2
3
|
const i18nSharedOptions = {
|
|
3
|
-
debug:
|
|
4
|
+
debug: logLevel === "debug",
|
|
4
5
|
fallbackLng: LanguageSchema.enum.en,
|
|
5
6
|
namespace: "translation",
|
|
6
7
|
supportedLngs: Object.values(Languages),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18SharedOptions.js","sourceRoot":"","sources":["../src/i18SharedOptions.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAM9D,MAAM,QAAQ,GACb,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;AAE7E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,KAAK,EAAE,QAAQ,KAAK,OAAO;IAC3B,WAAW,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE;IACnC,SAAS,EAAE,aAAa;IACxB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IACvC,wBAAwB,EAAE,KAAK;CAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18nBackend.js","sourceRoot":"","sources":["../src/i18nBackend.ts"],"names":[],"mappings":"AAcA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,IAAI,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,QAAQ,GACb,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,OAAO,CACrE,SAAS,EACT,EAAE,CACF,CAAC;AAEH,MAAM,UAAU,cAAc,CAC7B,kBAAiD;IAEjD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,YAAY,EAAE,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,0BAA0B,CAAC,IAAI,EAAE;YACxD,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,IAAI;aAEF,GAAG,CAAC,SAAS,CAAC;aACd,GAAG,CAAC,WAAW,CAAC;aAChB,IAAI,CAAC;YACL,GAAG,iBAAiB;YACpB,EAAE,EAAE,CAAC,aAAa,CAAC;YACnB,OAAO,EAAE;gBACR,QAAQ;aACR;SACD,CAAC,CAAC;QACJ,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18nFrontend.js","sourceRoot":"","sources":["../src/i18nFrontend.ts"],"names":[],"mappings":"AAcA,OAAO,IAA0B,MAAM,SAAS,CAAC;AACjD,OAAO,8BAA8B,MAAM,kCAAkC,CAAC;AAC9E,OAAO,cAAc,MAAM,yBAAyB,CAAC;AACrD,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,kBAAkB,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,YAAY,GAAgB;IACjC,KAAK,EAAE;QACN,WAAW,EAAE,IAAI;KACjB;IACD,SAAS,EAAE;QACV,KAAK,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC;QACpD,MAAM,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;KAClC;CACD,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,SAAiB,EAAE,EAAE;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAClD,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,QAAQ,EAAE,EAAE,EAAE,CAAC,YAAY,QAAQ,IAAI,SAAS,OAAO,CAAC;AAC/F,CAAC,CAAC;AAEF,MAAM,UAAU,cAAc,CAC7B,kBAAiD;IAEjD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,IAAI;aAEF,GAAG,CAAC,cAAc,CAAC;aACnB,GAAG,CACH,IAAI,8BAA8B,CAAC,IAAI,EAAE;YACxC,KAAK,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC;YAC9C,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,SAAS;YACvB,kBAAkB,EAAE,YAAY;YAChC,MAAM,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC;SAClC,CAAC,CACF;aACA,GAAG,CAAC,gBAAgB,CAAC;aACrB,IAAI,CAAC;YACL,GAAG,iBAAiB;YACpB,OAAO,EAAE;gBACR,QAAQ,EAAE;oBACT,WAAW;oBAEX,kBAAkB,CACjB,CAAC,QAAgB,EAAE,SAAiB,EAAE,EAAE,CACvC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CACzC;iBACD;gBACD,cAAc,EAAE;oBACf;wBACC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC;qBAC1C;iBACD;aACD;YACD,GAAG,YAAY;SACA,CAAC,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18nMiddleware.js","sourceRoot":"","sources":["../src/i18nMiddleware.ts"],"names":[],"mappings":"AAcA,OAAO,EAAsB,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,KAAK,UAAU,cAAc,CAC5B,OAAsB;IAEtB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadI18next.js","sourceRoot":"","sources":["../src/loadI18next.ts"],"names":[],"mappings":"AAeA,IAAI,YAAkB,CAAC;AACvB,KAAK,UAAU,WAAW,CAAC,OAAgB;IAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,IAAI,CAAC;YACJ,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;oBAC/D,IAAI,CAAC,YAAY,EAAE,CAAC;wBAEnB,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBAEP,OAAO,CAAC,YAAY,CAAC,CAAC;oBACvB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE;oBAChE,IAAI,CAAC,YAAY,EAAE,CAAC;wBAEnB,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBAEP,OAAO,CAAC,YAAY,CAAC,CAAC;oBACvB,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,CAAC;QACX,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC;AAID,eAAe,WAAW,CAAC"}
|
|
@@ -17,8 +17,11 @@
|
|
|
17
17
|
"MISSING_QUERY_PARAMETERS": "معلمات الاستعلام المفقودة",
|
|
18
18
|
"MISSING_AUTHORIZATION_HEADER": "رأس التفويض المفقود",
|
|
19
19
|
"TIMESTAMP_TOO_OLD": "الطابع الزمني قديم للغاية",
|
|
20
|
+
"FAILED_IP_VALIDATION": "فشل التحقق من صحة IP",
|
|
21
|
+
"ACCESS_POLICY_BLOCK": "تم حظر الوصول بواسطة السياسة",
|
|
20
22
|
"FORBIDDEN": "ممنوع",
|
|
21
23
|
"PROVIDER_VERIFY_FAILED": "فشل التحقق من الجهة الخارجية",
|
|
24
|
+
"SPAM_EMAIL_DOMAIN": "نطاق البريد الإلكتروني غير مسموح به",
|
|
22
25
|
"UNAUTHORIZED": "غير مصرح",
|
|
23
26
|
"MISSING_BODY": "جسم مفقود",
|
|
24
27
|
"NO_CONTENT_TYPE_HEADER": "رأس نوع المحتوى غير موجود. تم افتراض جسم مشفر بتنسيق JSON ولكن فشل في التحليل.",
|
|
@@ -38,7 +41,17 @@
|
|
|
38
41
|
"INVALID_IP": "IP غير صالح",
|
|
39
42
|
"INVALID_URL": "عنوان URL غير صالح",
|
|
40
43
|
"INVALID_BODY": "بيانات غير صالحة",
|
|
41
|
-
"PARSE_ERROR": "خطأ في تحليل الطلب"
|
|
44
|
+
"PARSE_ERROR": "خطأ في تحليل الطلب",
|
|
45
|
+
"SPAM_EMAIL_RULE": "عنوان البريد الإلكتروني محظور بواسطة قواعد مكافحة البريد العشوائي",
|
|
46
|
+
"VPN_BLOCKED": "لا يُسمح بالطلبات من اتصالات VPN لهذا الموقع",
|
|
47
|
+
"PROXY_BLOCKED": "لا يُسمح بالطلبات من خوادم البروكسي لهذا الموقع",
|
|
48
|
+
"TOR_BLOCKED": "لا يُسمح بالطلبات من عقد خروج Tor لهذا الموقع",
|
|
49
|
+
"ABUSER_BLOCKED": "لا يُسمح بالطلبات من الشبكات المُبلَّغ عنها بسبب إساءة الاستخدام لهذا الموقع",
|
|
50
|
+
"DATACENTER_BLOCKED": "لا يُسمح بالطلبات من عناوين IP لمراكز البيانات لهذا الموقع",
|
|
51
|
+
"MOBILE_BLOCKED": "لا يُسمح بالطلبات من شبكات الهاتف المحمول لهذا الموقع",
|
|
52
|
+
"SATELLITE_BLOCKED": "لا يُسمح بالطلبات من الاتصالات الفضائية لهذا الموقع",
|
|
53
|
+
"CRAWLER_BLOCKED": "لا يُسمح بالطلبات من برامج الزحف المعروفة لهذا الموقع",
|
|
54
|
+
"DISALLOWED_WEBVIEW": "الطلبات من المتصفحات داخل التطبيقات (WebView) غير مسموح بها لهذا الموقع"
|
|
42
55
|
},
|
|
43
56
|
"PORTAL": {
|
|
44
57
|
"CANNOT_MODIFY_OWNER_USER": "لا يمكن تعديل مالك المستخدم",
|
|
@@ -46,7 +59,9 @@
|
|
|
46
59
|
"CANNOT_DELETE_LAST_USER": "لا يمكن حذف أخر مستخدم",
|
|
47
60
|
"USER_ALREADY_EXISTS": "المستخدم موجود بالفعل",
|
|
48
61
|
"NO_SUGGESTIONS_FOUND": "لم يتم العثور على اقتراحات",
|
|
49
|
-
"CANNOT_DEACTIVATE_LAST_SITE": "لا يمكن تعطيل آخر موقع نشط"
|
|
62
|
+
"CANNOT_DEACTIVATE_LAST_SITE": "لا يمكن تعطيل آخر موقع نشط",
|
|
63
|
+
"DUPLICATE_SITE_NAME": "يوجد موقع بهذا الاسم بالفعل",
|
|
64
|
+
"INVALID_SITE_NAME": "يجب أن يحتوي اسم الموقع على أحرف وأرقام وشرطات وشرطات سفلية فقط"
|
|
50
65
|
},
|
|
51
66
|
"TARGET": {
|
|
52
67
|
"airplanes": "طائرات",
|
|
@@ -359,7 +374,8 @@
|
|
|
359
374
|
"I_AM_HUMAN": "أنا إنسان",
|
|
360
375
|
"NO_ACCOUNTS_FOUND": "لم يتم العثور على حسابات",
|
|
361
376
|
"ACCOUNT_NOT_FOUND": "حساب غير موجود",
|
|
362
|
-
"NO_EXTENSION_FOUND": "لم يتم العثور على امتداد"
|
|
377
|
+
"NO_EXTENSION_FOUND": "لم يتم العثور على امتداد",
|
|
378
|
+
"INSECURE_CONTEXT": "يتطلب Procaptcha اتصالاً آمنًا (HTTPS)"
|
|
363
379
|
},
|
|
364
380
|
"CONTRACT": {
|
|
365
381
|
"INVALID_ADDRESS": "فشل في ترميز عنوان غير صالح",
|
|
@@ -17,8 +17,11 @@
|
|
|
17
17
|
"MISSING_QUERY_PARAMETERS": "Axtarış parametrləri itirildi",
|
|
18
18
|
"MISSING_AUTHORIZATION_HEADER": "Səlahiyyət başlığı itirildi",
|
|
19
19
|
"TIMESTAMP_TOO_OLD": "Zaman damgası çox köhnədir",
|
|
20
|
+
"FAILED_IP_VALIDATION": "IP yoxlanması uğursuz oldu",
|
|
21
|
+
"ACCESS_POLICY_BLOCK": "Siyasət tərəfindən giriş bloklandı",
|
|
20
22
|
"FORBIDDEN": "Qadağan edilir",
|
|
21
23
|
"PROVIDER_VERIFY_FAILED": "Təchizatçı doğrulaması alınmadı",
|
|
24
|
+
"SPAM_EMAIL_DOMAIN": "E-poçt domeni icazə verilmir",
|
|
22
25
|
"UNAUTHORIZED": "İcazəsiz",
|
|
23
26
|
"MISSING_BODY": "Gövdesi eksik",
|
|
24
27
|
"NO_CONTENT_TYPE_HEADER": "Məzmun-növü başlığı yoxdur. JSON kodlanmış gövde olduğu, ancaq ayrışdırmaq mümkün olmadığı düşünüldü.",
|
|
@@ -38,7 +41,17 @@
|
|
|
38
41
|
"INVALID_IP": "Yanlış IP",
|
|
39
42
|
"INVALID_URL": "Yanlış URL",
|
|
40
43
|
"INVALID_BODY": "Yanlış bədən",
|
|
41
|
-
"PARSE_ERROR": "Tələbi pars edərkən səhv baş verdi"
|
|
44
|
+
"PARSE_ERROR": "Tələbi pars edərkən səhv baş verdi",
|
|
45
|
+
"SPAM_EMAIL_RULE": "E-poçt ünvanı spam filtr qaydaları ilə bloklanıb",
|
|
46
|
+
"VPN_BLOCKED": "Bu sayt üçün VPN bağlantılarından sorğulara icazə verilmir",
|
|
47
|
+
"PROXY_BLOCKED": "Bu sayt üçün proksi serverlərdən sorğulara icazə verilmir",
|
|
48
|
+
"TOR_BLOCKED": "Bu sayt üçün Tor çıxış qovşaqlarından sorğulara icazə verilmir",
|
|
49
|
+
"ABUSER_BLOCKED": "Bu sayt üçün sui-istifadə üçün işarələnmiş şəbəkələrdən sorğulara icazə verilmir",
|
|
50
|
+
"DATACENTER_BLOCKED": "Bu sayt üçün məlumat mərkəzi IP ünvanlarından sorğulara icazə verilmir",
|
|
51
|
+
"MOBILE_BLOCKED": "Bu sayt üçün mobil şəbəkə bağlantılarından sorğulara icazə verilmir",
|
|
52
|
+
"SATELLITE_BLOCKED": "Bu sayt üçün peyk bağlantılarından sorğulara icazə verilmir",
|
|
53
|
+
"CRAWLER_BLOCKED": "Bu sayt üçün tanınmış tarayıcılardan sorğulara icazə verilmir",
|
|
54
|
+
"DISALLOWED_WEBVIEW": "Bu sayt üçün tətbiqdaxili brauzerlərdən (WebView) sorğulara icazə verilmir"
|
|
42
55
|
},
|
|
43
56
|
"PORTAL": {
|
|
44
57
|
"CANNOT_MODIFY_OWNER_USER": "Sahib istifadəçini dəyişmək olmaz",
|
|
@@ -46,7 +59,9 @@
|
|
|
46
59
|
"CANNOT_DELETE_LAST_USER": "Son istifadəçini silmək olmaz",
|
|
47
60
|
"USER_ALREADY_EXISTS": "İstifadəçi artıq mövcuddur",
|
|
48
61
|
"NO_SUGGESTIONS_FOUND": "Təklif tapılmadı",
|
|
49
|
-
"CANNOT_DEACTIVATE_LAST_SITE": "Sonaktiv saytı deaktiv etmək olmaz"
|
|
62
|
+
"CANNOT_DEACTIVATE_LAST_SITE": "Sonaktiv saytı deaktiv etmək olmaz",
|
|
63
|
+
"DUPLICATE_SITE_NAME": "Bu adda sayt artıq mövcuddur",
|
|
64
|
+
"INVALID_SITE_NAME": "Sayt adı yalnız hərflərdən, rəqəmlərdən, defislərdən və alt xətlərdən ibarət olmalıdır"
|
|
50
65
|
},
|
|
51
66
|
"TARGET": {
|
|
52
67
|
"airplanes": "təyyarələr",
|
|
@@ -359,7 +374,8 @@
|
|
|
359
374
|
"I_AM_HUMAN": "Mən insanam",
|
|
360
375
|
"NO_ACCOUNTS_FOUND": "Hesab tapılmadı",
|
|
361
376
|
"ACCOUNT_NOT_FOUND": "Hesab tapılmadı",
|
|
362
|
-
"NO_EXTENSION_FOUND": "Tətbiq tapılmadı"
|
|
377
|
+
"NO_EXTENSION_FOUND": "Tətbiq tapılmadı",
|
|
378
|
+
"INSECURE_CONTEXT": "Procaptcha təhlükəsiz (HTTPS) bağlantı tələb edir"
|
|
363
379
|
},
|
|
364
380
|
"CONTRACT": {
|
|
365
381
|
"INVALID_ADDRESS": "Geçərsiz ünvan kodlanmadı",
|
|
@@ -17,8 +17,11 @@
|
|
|
17
17
|
"MISSING_QUERY_PARAMETERS": "Chybějící parametry dotazu",
|
|
18
18
|
"MISSING_AUTHORIZATION_HEADER": "Chybějící hlavička autorizace",
|
|
19
19
|
"TIMESTAMP_TOO_OLD": "Příliš starý časový údaj",
|
|
20
|
+
"FAILED_IP_VALIDATION": "Ověření IP selhalo",
|
|
21
|
+
"ACCESS_POLICY_BLOCK": "Přístup blokován zásadami",
|
|
20
22
|
"FORBIDDEN": "Zakázáno",
|
|
21
23
|
"PROVIDER_VERIFY_FAILED": "Ověření poskytovatele selhalo",
|
|
24
|
+
"SPAM_EMAIL_DOMAIN": "E-mailová doména není povolena",
|
|
22
25
|
"UNAUTHORIZED": "Neoprávněný",
|
|
23
26
|
"MISSING_BODY": "Chybějící tělo",
|
|
24
27
|
"NO_CONTENT_TYPE_HEADER": "Chybí hlavička typu obsahu. Předpokládáno, že tělo je kódované ve formátu JSON, ale nepodařilo se ho analyzovat.",
|
|
@@ -38,7 +41,17 @@
|
|
|
38
41
|
"INVALID_IP": "Neplatná IP adresa",
|
|
39
42
|
"INVALID_URL": "Neplatná URL adresa",
|
|
40
43
|
"INVALID_BODY": "Neplatné tělo",
|
|
41
|
-
"PARSE_ERROR": "Chyba při zpracování požadavku"
|
|
44
|
+
"PARSE_ERROR": "Chyba při zpracování požadavku",
|
|
45
|
+
"SPAM_EMAIL_RULE": "E-mailová adresa blokována pravidly spamového filtru",
|
|
46
|
+
"VPN_BLOCKED": "Požadavky z VPN připojení nejsou pro tento web povoleny",
|
|
47
|
+
"PROXY_BLOCKED": "Požadavky z proxy serverů nejsou pro tento web povoleny",
|
|
48
|
+
"TOR_BLOCKED": "Požadavky z výstupních uzlů Tor nejsou pro tento web povoleny",
|
|
49
|
+
"ABUSER_BLOCKED": "Požadavky ze sítí označených za zneužívající nejsou pro tento web povoleny",
|
|
50
|
+
"DATACENTER_BLOCKED": "Požadavky z IP adres datových center nejsou pro tento web povoleny",
|
|
51
|
+
"MOBILE_BLOCKED": "Požadavky z mobilních sítí nejsou pro tento web povoleny",
|
|
52
|
+
"SATELLITE_BLOCKED": "Požadavky ze satelitních připojení nejsou pro tento web povoleny",
|
|
53
|
+
"CRAWLER_BLOCKED": "Požadavky ze známých crawlerů nejsou pro tento web povoleny",
|
|
54
|
+
"DISALLOWED_WEBVIEW": "Požadavky z prohlížečů v aplikacích (WebView) nejsou pro tento web povoleny"
|
|
42
55
|
},
|
|
43
56
|
"PORTAL": {
|
|
44
57
|
"CANNOT_MODIFY_OWNER_USER": "Nelze upravit vlastníka uživatele",
|
|
@@ -46,7 +59,9 @@
|
|
|
46
59
|
"CANNOT_DELETE_LAST_USER": "Nelze smazat posledního uživatele",
|
|
47
60
|
"USER_ALREADY_EXISTS": "Uživatel již existuje",
|
|
48
61
|
"NO_SUGGESTIONS_FOUND": "Nebyly nalezeny žádné návrhy",
|
|
49
|
-
"CANNOT_DEACTIVATE_LAST_SITE": "Nelze deaktivovat poslední aktivní web"
|
|
62
|
+
"CANNOT_DEACTIVATE_LAST_SITE": "Nelze deaktivovat poslední aktivní web",
|
|
63
|
+
"DUPLICATE_SITE_NAME": "Web s tímto názvem již existuje",
|
|
64
|
+
"INVALID_SITE_NAME": "Název webu smí obsahovat pouze písmena, čísla, pomlčky a podtržítka"
|
|
50
65
|
},
|
|
51
66
|
"TARGET": {
|
|
52
67
|
"airplanes": "letadla",
|
|
@@ -359,7 +374,8 @@
|
|
|
359
374
|
"I_AM_HUMAN": "Jsem člověk",
|
|
360
375
|
"NO_ACCOUNTS_FOUND": "Nebyly nalezeny žádné účty",
|
|
361
376
|
"ACCOUNT_NOT_FOUND": "Účet nenalezen",
|
|
362
|
-
"NO_EXTENSION_FOUND": "Nenalezeno žádné rozšíření"
|
|
377
|
+
"NO_EXTENSION_FOUND": "Nenalezeno žádné rozšíření",
|
|
378
|
+
"INSECURE_CONTEXT": "Procaptcha vyžaduje zabezpečené připojení (HTTPS)"
|
|
363
379
|
},
|
|
364
380
|
"CONTRACT": {
|
|
365
381
|
"INVALID_ADDRESS": "Nepodařilo se zakódovat neplatnou adresu",
|
|
@@ -17,8 +17,11 @@
|
|
|
17
17
|
"MISSING_QUERY_PARAMETERS": "Fehlende Abfrageparameter",
|
|
18
18
|
"MISSING_AUTHORIZATION_HEADER": "Fehlender Autorisierungsheader",
|
|
19
19
|
"TIMESTAMP_TOO_OLD": "Zeitstempel zu alt",
|
|
20
|
+
"FAILED_IP_VALIDATION": "IP-Validierung fehlgeschlagen",
|
|
21
|
+
"ACCESS_POLICY_BLOCK": "Zugriff durch Richtlinie blockiert",
|
|
20
22
|
"FORBIDDEN": "Verboten",
|
|
21
23
|
"PROVIDER_VERIFY_FAILED": "Anbieterüberprüfung fehlgeschlagen",
|
|
24
|
+
"SPAM_EMAIL_DOMAIN": "E-Mail-Domain nicht erlaubt",
|
|
22
25
|
"UNAUTHORIZED": "Unauthorized",
|
|
23
26
|
"MISSING_BODY": "Fehlender Körper",
|
|
24
27
|
"NO_CONTENT_TYPE_HEADER": "Kein Inhaltstyp-Header. Angenommenes JSON-kodiertes Körper, aber konnte nicht analysieren.",
|
|
@@ -38,7 +41,17 @@
|
|
|
38
41
|
"INVALID_IP": "Ungültige IP",
|
|
39
42
|
"INVALID_URL": "Ungültiger URL",
|
|
40
43
|
"INVALID_BODY": "Ungültiger Körper",
|
|
41
|
-
"PARSE_ERROR": "Fehler beim Parsen der Anfrage"
|
|
44
|
+
"PARSE_ERROR": "Fehler beim Parsen der Anfrage",
|
|
45
|
+
"SPAM_EMAIL_RULE": "E-Mail-Adresse durch Spamfilter-Regeln blockiert",
|
|
46
|
+
"VPN_BLOCKED": "Anfragen über VPN-Verbindungen sind für diese Website nicht erlaubt",
|
|
47
|
+
"PROXY_BLOCKED": "Anfragen über Proxy-Server sind für diese Website nicht erlaubt",
|
|
48
|
+
"TOR_BLOCKED": "Anfragen über Tor-Exit-Knoten sind für diese Website nicht erlaubt",
|
|
49
|
+
"ABUSER_BLOCKED": "Anfragen von als missbräuchlich markierten Netzwerken sind für diese Website nicht erlaubt",
|
|
50
|
+
"DATACENTER_BLOCKED": "Anfragen von Rechenzentrum-IP-Adressen sind für diese Website nicht erlaubt",
|
|
51
|
+
"MOBILE_BLOCKED": "Anfragen von Mobilfunkverbindungen sind für diese Website nicht erlaubt",
|
|
52
|
+
"SATELLITE_BLOCKED": "Anfragen von Satellitenverbindungen sind für diese Website nicht erlaubt",
|
|
53
|
+
"CRAWLER_BLOCKED": "Anfragen von bekannten Crawlern sind für diese Website nicht erlaubt",
|
|
54
|
+
"DISALLOWED_WEBVIEW": "Anfragen aus In-App-Browsern (WebView) sind für diese Website nicht erlaubt"
|
|
42
55
|
},
|
|
43
56
|
"PORTAL": {
|
|
44
57
|
"CANNOT_MODIFY_OWNER_USER": "Kann den Besitzerbenutzer nicht ändern",
|
|
@@ -46,7 +59,9 @@
|
|
|
46
59
|
"CANNOT_DELETE_LAST_USER": "Kann den letzten Benutzer nicht löschen",
|
|
47
60
|
"USER_ALREADY_EXISTS": "Benutzer existiert bereits",
|
|
48
61
|
"NO_SUGGESTIONS_FOUND": "Keine Vorschläge gefunden",
|
|
49
|
-
"CANNOT_DEACTIVATE_LAST_SITE": "Kann den letzten aktiven Standort nicht deaktivieren"
|
|
62
|
+
"CANNOT_DEACTIVATE_LAST_SITE": "Kann den letzten aktiven Standort nicht deaktivieren",
|
|
63
|
+
"DUPLICATE_SITE_NAME": "Eine Website mit diesem Namen existiert bereits",
|
|
64
|
+
"INVALID_SITE_NAME": "Der Websitename darf nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten"
|
|
50
65
|
},
|
|
51
66
|
"ACCOUNT": {
|
|
52
67
|
"NO_POLKADOT_EXTENSION": "Polkadot-Erweiterung nicht gefunden"
|
|
@@ -60,7 +75,8 @@
|
|
|
60
75
|
"I_AM_HUMAN": "Ich bin ein Mensch",
|
|
61
76
|
"NO_ACCOUNTS_FOUND": "Keine Konten gefunden",
|
|
62
77
|
"ACCOUNT_NOT_FOUND": "Konto nicht gefunden",
|
|
63
|
-
"NO_EXTENSION_FOUND": "Keine Erweiterung gefunden"
|
|
78
|
+
"NO_EXTENSION_FOUND": "Keine Erweiterung gefunden",
|
|
79
|
+
"INSECURE_CONTEXT": "Procaptcha erfordert eine sichere (HTTPS-)Verbindung"
|
|
64
80
|
},
|
|
65
81
|
"CONTRACT": {
|
|
66
82
|
"INVALID_ADDRESS": "Ungültige Adresse konnte nicht codiert werden",
|
|
@@ -7,8 +7,11 @@
|
|
|
7
7
|
"MISSING_AUTHORIZATION_HEADER": "Λείπει η κεφαλίδα εξουσιοδότησης",
|
|
8
8
|
"NO_CONTENT_TYPE_HEADER": "Δεν υπάρχει κεφαλίδα τύπου περιεχομένου. Υποθέτει κωδικοποίηση JSON αλλά αποτύχει στην ανάλυση.",
|
|
9
9
|
"TIMESTAMP_TOO_OLD": "Πολύ παλιά χρονοσήμανση",
|
|
10
|
+
"FAILED_IP_VALIDATION": "Η επαλήθευση IP απέτυχε",
|
|
11
|
+
"ACCESS_POLICY_BLOCK": "Η πρόσβαση αποκλείστηκε από την πολιτική",
|
|
10
12
|
"FORBIDDEN": "Απαγορεύεται",
|
|
11
13
|
"PROVIDER_VERIFY_FAILED": "Αποτυχία επαλήθευσης παρόχου",
|
|
14
|
+
"SPAM_EMAIL_DOMAIN": "Ο τομέας email δεν επιτρέπεται",
|
|
12
15
|
"CAPTCHA_FAILED": "Απάντησες λανθασμένα ένα ή περισσότερα captchas. Παρακαλώ δοκίμασε ξανά",
|
|
13
16
|
"CAPTCHA_PASSED": "Απάντησες σωστά στα captchas",
|
|
14
17
|
"BAD_REQUEST": "Μη έγκυρο αίτημα",
|
|
@@ -25,7 +28,17 @@
|
|
|
25
28
|
"INVALID_IP": "Μη έγκυρη διεύθυνση IP",
|
|
26
29
|
"INVALID_URL": "Μη έγκυρη διεύθυνση URL",
|
|
27
30
|
"INVALID_BODY": "Μη έγκυρο σώμα",
|
|
28
|
-
"PARSE_ERROR": "Σφάλμα ανάλυσης αιτήματος"
|
|
31
|
+
"PARSE_ERROR": "Σφάλμα ανάλυσης αιτήματος",
|
|
32
|
+
"SPAM_EMAIL_RULE": "Η διεύθυνση email αποκλείστηκε από κανόνες φίλτρου spam",
|
|
33
|
+
"VPN_BLOCKED": "Αιτήματα από συνδέσεις VPN δεν επιτρέπονται για αυτόν τον ιστότοπο",
|
|
34
|
+
"PROXY_BLOCKED": "Αιτήματα από διακομιστές proxy δεν επιτρέπονται για αυτόν τον ιστότοπο",
|
|
35
|
+
"TOR_BLOCKED": "Αιτήματα από κόμβους εξόδου Tor δεν επιτρέπονται για αυτόν τον ιστότοπο",
|
|
36
|
+
"ABUSER_BLOCKED": "Αιτήματα από δίκτυα που έχουν επισημανθεί για κατάχρηση δεν επιτρέπονται για αυτόν τον ιστότοπο",
|
|
37
|
+
"DATACENTER_BLOCKED": "Αιτήματα από διευθύνσεις IP κέντρων δεδομένων δεν επιτρέπονται για αυτόν τον ιστότοπο",
|
|
38
|
+
"MOBILE_BLOCKED": "Αιτήματα από συνδέσεις κινητών δικτύων δεν επιτρέπονται για αυτόν τον ιστότοπο",
|
|
39
|
+
"SATELLITE_BLOCKED": "Αιτήματα από δορυφορικές συνδέσεις δεν επιτρέπονται για αυτόν τον ιστότοπο",
|
|
40
|
+
"CRAWLER_BLOCKED": "Αιτήματα από γνωστά προγράμματα ανίχνευσης δεν επιτρέπονται για αυτόν τον ιστότοπο",
|
|
41
|
+
"DISALLOWED_WEBVIEW": "Δεν επιτρέπονται αιτήματα από ενσωματωμένους περιηγητές (WebView) για αυτόν τον ιστότοπο"
|
|
29
42
|
},
|
|
30
43
|
"TARGET": {
|
|
31
44
|
"animals": "ζώα",
|
|
@@ -345,7 +358,9 @@
|
|
|
345
358
|
"CANNOT_DELETE_LAST_USER": "Δεν είναι δυνατή η διαγραφή του τελευταίου χρήστη",
|
|
346
359
|
"USER_ALREADY_EXISTS": "Ο χρήστης υπάρχει ήδη",
|
|
347
360
|
"NO_SUGGESTIONS_FOUND": "Δεν βρέθηκαν προτάσεις",
|
|
348
|
-
"CANNOT_DEACTIVATE_LAST_SITE": "Δεν είναι δυνατή η απενεργοποίηση του τελευταίου ιστότοπου"
|
|
361
|
+
"CANNOT_DEACTIVATE_LAST_SITE": "Δεν είναι δυνατή η απενεργοποίηση του τελευταίου ιστότοπου",
|
|
362
|
+
"DUPLICATE_SITE_NAME": "Υπάρχει ήδη ιστότοπος με αυτό το όνομα",
|
|
363
|
+
"INVALID_SITE_NAME": "Το όνομα ιστότοπου πρέπει να περιέχει μόνο γράμματα, αριθμούς, παύλες και κάτω παύλες"
|
|
349
364
|
},
|
|
350
365
|
"ACCOUNT": {
|
|
351
366
|
"NO_POLKADOT_EXTENSION": "Δεν βρέθηκε επέκταση Polkadot"
|
|
@@ -359,7 +374,8 @@
|
|
|
359
374
|
"I_AM_HUMAN": "Είμαι άνθρωπος",
|
|
360
375
|
"NO_ACCOUNTS_FOUND": "Δεν βρέθηκαν λογαριασμοί",
|
|
361
376
|
"ACCOUNT_NOT_FOUND": "Δεν βρέθηκε λογαριασμός",
|
|
362
|
-
"NO_EXTENSION_FOUND": "Δε βρέθηκε επέκταση"
|
|
377
|
+
"NO_EXTENSION_FOUND": "Δε βρέθηκε επέκταση",
|
|
378
|
+
"INSECURE_CONTEXT": "Το Procaptcha απαιτεί ασφαλή σύνδεση (HTTPS)"
|
|
363
379
|
},
|
|
364
380
|
"CONTRACT": {
|
|
365
381
|
"INVALID_ADDRESS": "Αποτυχία κωδικοποίησης μη έγκυρης διεύθυνσης",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"I_AM_HUMAN": "I am human",
|
|
12
12
|
"NO_ACCOUNTS_FOUND": "No accounts found",
|
|
13
13
|
"ACCOUNT_NOT_FOUND": "Account not found",
|
|
14
|
-
"NO_EXTENSION_FOUND": "No extension found"
|
|
14
|
+
"NO_EXTENSION_FOUND": "No extension found",
|
|
15
|
+
"INSECURE_CONTEXT": "Procaptcha requires a secure (HTTPS) connection"
|
|
15
16
|
},
|
|
16
17
|
"GENERAL": {
|
|
17
18
|
"JSON_LOAD_FAILED": "Failed to load JSON file",
|
|
@@ -114,8 +115,21 @@
|
|
|
114
115
|
"PARSE_ERROR": "Error parsing request",
|
|
115
116
|
"NO_CONTENT_TYPE_HEADER": "No content-type header. Assumed JSON encoded body but failed to parse.",
|
|
116
117
|
"TIMESTAMP_TOO_OLD": "Timestamp too old",
|
|
118
|
+
"FAILED_IP_VALIDATION": "IP validation failed",
|
|
119
|
+
"ACCESS_POLICY_BLOCK": "Access blocked by policy",
|
|
117
120
|
"FORBIDDEN": "Forbidden",
|
|
118
|
-
"PROVIDER_VERIFY_FAILED": "Provider verification failed"
|
|
121
|
+
"PROVIDER_VERIFY_FAILED": "Provider verification failed",
|
|
122
|
+
"SPAM_EMAIL_DOMAIN": "Email domain not allowed",
|
|
123
|
+
"SPAM_EMAIL_RULE": "Email address blocked by spam filter rules",
|
|
124
|
+
"VPN_BLOCKED": "Requests from VPN connections are not allowed for this site",
|
|
125
|
+
"PROXY_BLOCKED": "Requests from proxy servers are not allowed for this site",
|
|
126
|
+
"TOR_BLOCKED": "Requests from Tor exit nodes are not allowed for this site",
|
|
127
|
+
"ABUSER_BLOCKED": "Requests from networks flagged for abuse are not allowed for this site",
|
|
128
|
+
"DATACENTER_BLOCKED": "Requests from datacenter IP addresses are not allowed for this site",
|
|
129
|
+
"MOBILE_BLOCKED": "Requests from mobile network connections are not allowed for this site",
|
|
130
|
+
"SATELLITE_BLOCKED": "Requests from satellite connections are not allowed for this site",
|
|
131
|
+
"CRAWLER_BLOCKED": "Requests from known crawlers are not allowed for this site",
|
|
132
|
+
"DISALLOWED_WEBVIEW": "Requests from in-app browsers (WebViews) are not allowed for this site"
|
|
119
133
|
},
|
|
120
134
|
"PORTAL": {
|
|
121
135
|
"CANNOT_MODIFY_OWNER_USER": "Cannot modify owner user",
|
|
@@ -123,7 +137,9 @@
|
|
|
123
137
|
"CANNOT_DELETE_LAST_USER": "Cannot delete last user",
|
|
124
138
|
"USER_ALREADY_EXISTS": "User already exists",
|
|
125
139
|
"NO_SUGGESTIONS_FOUND": "No suggestions found",
|
|
126
|
-
"CANNOT_DEACTIVATE_LAST_SITE": "Cannot deactivate the last active site"
|
|
140
|
+
"CANNOT_DEACTIVATE_LAST_SITE": "Cannot deactivate the last active site",
|
|
141
|
+
"DUPLICATE_SITE_NAME": "A site with this name already exists",
|
|
142
|
+
"INVALID_SITE_NAME": "Site name must contain only letters, numbers, hyphens, and underscores"
|
|
127
143
|
},
|
|
128
144
|
"CLI": {
|
|
129
145
|
"PARAMETER_ERROR": "Invalid parameter"
|