@prosopo/locale 3.6.1 → 3.6.2
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 +8 -6
- package/.turbo/turbo-build$colon$tsc.log +6 -6
- package/.turbo/turbo-build.log +11 -9
- package/CHANGELOG.md +24 -0
- package/dist/cjs/direction.cjs +19 -0
- package/dist/cjs/errorMessage.cjs +15 -0
- package/dist/cjs/index.cjs +5 -0
- package/dist/cjs/locales/en/translation.cjs +21 -4
- package/dist/cjs/translationKey.cjs +4 -0
- package/dist/direction.d.ts +3 -0
- package/dist/direction.d.ts.map +1 -0
- package/dist/direction.js +19 -0
- package/dist/direction.js.map +1 -0
- package/dist/errorMessage.d.ts +7 -0
- package/dist/errorMessage.d.ts.map +1 -0
- package/dist/errorMessage.js +15 -0
- package/dist/errorMessage.js.map +1 -0
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/locales/ar/translation.json +21 -4
- package/dist/locales/az/translation.json +21 -4
- package/dist/locales/cs/translation.json +21 -4
- package/dist/locales/de/translation.json +21 -4
- package/dist/locales/el/translation.json +21 -4
- package/dist/locales/en/translation.js +21 -4
- package/dist/locales/en/translation.json +21 -4
- package/dist/locales/es/translation.json +21 -4
- package/dist/locales/fi/translation.json +21 -4
- package/dist/locales/fr/translation.json +21 -4
- package/dist/locales/hi/translation.json +21 -4
- package/dist/locales/hu/translation.json +21 -4
- package/dist/locales/id/translation.json +21 -4
- package/dist/locales/it/translation.json +21 -4
- package/dist/locales/ja/translation.json +21 -4
- package/dist/locales/jv/translation.json +21 -4
- package/dist/locales/ko/translation.json +21 -4
- package/dist/locales/ml/translation.json +21 -4
- package/dist/locales/ms/translation.json +21 -4
- package/dist/locales/nl/translation.json +21 -4
- package/dist/locales/no/translation.json +21 -4
- package/dist/locales/pl/translation.json +21 -4
- package/dist/locales/pt/translation.json +21 -4
- package/dist/locales/pt-BR/translation.json +21 -4
- package/dist/locales/ro/translation.json +21 -4
- package/dist/locales/ru/translation.json +21 -4
- package/dist/locales/sr/translation.json +21 -4
- package/dist/locales/sv/translation.json +21 -4
- package/dist/locales/th/translation.json +21 -4
- package/dist/locales/tr/translation.json +21 -4
- package/dist/locales/uk/translation.json +21 -4
- package/dist/locales/vi/translation.json +21 -4
- package/dist/locales/zh-CN/translation.json +21 -4
- package/dist/tests/direction.unit.test.d.ts +2 -0
- package/dist/tests/direction.unit.test.d.ts.map +1 -0
- package/dist/tests/direction.unit.test.js +31 -0
- package/dist/tests/direction.unit.test.js.map +1 -0
- package/dist/tests/errorMessage.unit.test.d.ts +2 -0
- package/dist/tests/errorMessage.unit.test.d.ts.map +1 -0
- package/dist/tests/errorMessage.unit.test.js +49 -0
- package/dist/tests/errorMessage.unit.test.js.map +1 -0
- package/dist/tests/i18nFrontend.unit.test.js +22 -11
- package/dist/tests/i18nFrontend.unit.test.js.map +1 -1
- package/dist/tests/locale.test-d.js +18 -3
- package/dist/tests/locale.test-d.js.map +1 -1
- package/dist/tests/thrownErrorKeys.unit.test.d.ts +2 -0
- package/dist/tests/thrownErrorKeys.unit.test.d.ts.map +1 -0
- package/dist/tests/thrownErrorKeys.unit.test.js +59 -0
- package/dist/tests/thrownErrorKeys.unit.test.js.map +1 -0
- package/dist/tests/translationKey.unit.test.js +13 -1
- package/dist/tests/translationKey.unit.test.js.map +1 -1
- package/dist/translationKey.d.ts +7 -1
- package/dist/translationKey.d.ts.map +1 -1
- package/dist/translationKey.js +4 -1
- package/dist/translationKey.js.map +1 -1
- package/dist/translator.d.ts +2 -1
- package/dist/translator.d.ts.map +1 -1
- package/dist/translator.js.map +1 -1
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/direction.ts +36 -0
- package/src/errorMessage.ts +37 -0
- package/src/index.ts +5 -1
- package/src/locales/ar/translation.json +21 -4
- package/src/locales/az/translation.json +21 -4
- package/src/locales/cs/translation.json +21 -4
- package/src/locales/de/translation.json +21 -4
- package/src/locales/el/translation.json +21 -4
- package/src/locales/en/translation.json +21 -4
- package/src/locales/es/translation.json +21 -4
- package/src/locales/fi/translation.json +21 -4
- package/src/locales/fr/translation.json +21 -4
- package/src/locales/hi/translation.json +21 -4
- package/src/locales/hu/translation.json +21 -4
- package/src/locales/id/translation.json +21 -4
- package/src/locales/it/translation.json +21 -4
- package/src/locales/ja/translation.json +21 -4
- package/src/locales/jv/translation.json +21 -4
- package/src/locales/ko/translation.json +21 -4
- package/src/locales/ml/translation.json +21 -4
- package/src/locales/ms/translation.json +21 -4
- package/src/locales/nl/translation.json +21 -4
- package/src/locales/no/translation.json +21 -4
- package/src/locales/pl/translation.json +21 -4
- package/src/locales/pt/translation.json +21 -4
- package/src/locales/pt-BR/translation.json +21 -4
- package/src/locales/ro/translation.json +21 -4
- package/src/locales/ru/translation.json +21 -4
- package/src/locales/sr/translation.json +21 -4
- package/src/locales/sv/translation.json +21 -4
- package/src/locales/th/translation.json +21 -4
- package/src/locales/tr/translation.json +21 -4
- package/src/locales/uk/translation.json +21 -4
- package/src/locales/vi/translation.json +21 -4
- package/src/locales/zh-CN/translation.json +21 -4
- package/src/tests/direction.unit.test.ts +52 -0
- package/src/tests/errorMessage.unit.test.ts +84 -0
- package/src/tests/i18nFrontend.unit.test.ts +25 -14
- package/src/tests/locale.test-d.ts +26 -2
- package/src/tests/thrownErrorKeys.unit.test.ts +91 -0
- package/src/tests/translationKey.unit.test.ts +15 -0
- package/src/translationKey.ts +14 -5
- package/src/translator.ts +3 -2
- package/src/types.ts +6 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/locale@3.6.
|
|
2
|
+
> @prosopo/locale@3.6.2 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -11,24 +11,26 @@ ViteCommonJSConfig: .
|
|
|
11
11
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
12
12
|
Bundle build started
|
|
13
13
|
[2K
|
|
14
|
-
✓
|
|
14
|
+
✓ 15 modules transformed.
|
|
15
15
|
rendering chunks...
|
|
16
16
|
computing gzip size...
|
|
17
17
|
dist/cjs/util.cjs 0.28 kB │ gzip: 0.17 kB
|
|
18
|
+
dist/cjs/direction.cjs 0.37 kB │ gzip: 0.25 kB
|
|
18
19
|
dist/cjs/i18SharedOptions.cjs 0.39 kB │ gzip: 0.24 kB
|
|
19
20
|
dist/cjs/i18nMiddleware.cjs 0.51 kB │ gzip: 0.26 kB
|
|
20
|
-
dist/cjs/
|
|
21
|
+
dist/cjs/errorMessage.cjs 0.70 kB │ gzip: 0.40 kB
|
|
21
22
|
dist/cjs/process.cjs 0.78 kB │ gzip: 0.46 kB
|
|
22
23
|
dist/cjs/translations.cjs 0.80 kB │ gzip: 0.40 kB
|
|
23
24
|
dist/cjs/translator.cjs 0.83 kB │ gzip: 0.45 kB
|
|
24
|
-
dist/cjs/
|
|
25
|
+
dist/cjs/translationKey.cjs 0.91 kB │ gzip: 0.44 kB
|
|
25
26
|
dist/cjs/_virtual/_rolldown/runtime.cjs 1.00 kB │ gzip: 0.50 kB
|
|
27
|
+
dist/cjs/index.cjs 1.20 kB │ gzip: 0.34 kB
|
|
26
28
|
dist/cjs/i18nBackend.cjs 1.47 kB │ gzip: 0.62 kB
|
|
27
29
|
dist/cjs/loadI18next.cjs 2.03 kB │ gzip: 0.84 kB
|
|
28
30
|
dist/cjs/i18nFrontend.cjs 6.07 kB │ gzip: 2.44 kB
|
|
29
|
-
dist/cjs/locales/en/translation.cjs
|
|
31
|
+
dist/cjs/locales/en/translation.cjs 17.47 kB │ gzip: 6.25 kB
|
|
30
32
|
|
|
31
|
-
[32m✓ built in
|
|
33
|
+
[32m✓ built in 80ms[39m
|
|
32
34
|
[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
|
|
33
35
|
[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
|
|
34
36
|
[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
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/locale@3.6.
|
|
2
|
+
> @prosopo/locale@3.6.2 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
12:38:03 PM - Projects in this build:
|
|
6
6
|
* ../../dev/config/tsconfig.json
|
|
7
7
|
* ../util/tsconfig.json
|
|
8
8
|
* tsconfig.json
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
12:38:03 PM - 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'
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
12:38:03 PM - Project '../util/tsconfig.json' is up to date because newest input '../util/src/url.ts' is older than output '../util/tsconfig.tsbuildinfo'
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
12:38:03 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
12:38:03 PM - Building project '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json'...
|
|
17
17
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/locale@3.6.
|
|
2
|
+
> @prosopo/locale@3.6.2 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/locale@3.6.
|
|
6
|
+
> @prosopo/locale@3.6.2 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -15,33 +15,35 @@ ViteEsmConfig: .
|
|
|
15
15
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
16
16
|
Bundle build started
|
|
17
17
|
[2K
|
|
18
|
-
✓
|
|
18
|
+
✓ 15 modules transformed.
|
|
19
19
|
rendering chunks...
|
|
20
20
|
computing gzip size...
|
|
21
21
|
dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
|
|
22
22
|
dist/util.js 0.25 kB │ gzip: 0.16 kB
|
|
23
23
|
dist/i18nMiddleware.js 0.31 kB │ gzip: 0.19 kB
|
|
24
|
+
dist/direction.js 0.35 kB │ gzip: 0.25 kB
|
|
24
25
|
dist/i18SharedOptions.js 0.35 kB │ gzip: 0.24 kB
|
|
25
|
-
dist/
|
|
26
|
-
dist/
|
|
26
|
+
dist/errorMessage.js 0.65 kB │ gzip: 0.39 kB
|
|
27
|
+
dist/index.js 0.67 kB │ gzip: 0.25 kB
|
|
27
28
|
dist/translations.js 0.74 kB │ gzip: 0.40 kB
|
|
28
29
|
dist/process.js 0.77 kB │ gzip: 0.46 kB
|
|
29
30
|
dist/translator.js 0.79 kB │ gzip: 0.44 kB
|
|
31
|
+
dist/translationKey.js 0.83 kB │ gzip: 0.43 kB
|
|
30
32
|
dist/i18nBackend.js 1.01 kB │ gzip: 0.53 kB
|
|
31
33
|
dist/loadI18next.js 1.93 kB │ gzip: 0.83 kB
|
|
32
34
|
dist/i18nFrontend.js 5.98 kB │ gzip: 2.42 kB
|
|
33
|
-
dist/locales/en/translation.js
|
|
35
|
+
dist/locales/en/translation.js 17.23 kB │ gzip: 6.22 kB
|
|
34
36
|
|
|
35
|
-
[32m✓ built in
|
|
36
|
-
[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
|
|
37
|
+
[32m✓ built in 55ms[39m
|
|
37
38
|
[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
|
|
39
|
+
[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
|
|
38
40
|
[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
|
|
39
41
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/de/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/de/translation.json
|
|
40
42
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/el/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/el/translation.json
|
|
41
43
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/en/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/en/translation.json
|
|
42
44
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/es/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/es/translation.json
|
|
43
|
-
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/fr/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/fr/translation.json
|
|
44
45
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/fi/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/fi/translation.json
|
|
46
|
+
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/fr/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/fr/translation.json
|
|
45
47
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/hi/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/hi/translation.json
|
|
46
48
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/hu/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/hu/translation.json
|
|
47
49
|
[copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/id/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/id/translation.json
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @prosopo/locale
|
|
2
2
|
|
|
3
|
+
## 3.6.2
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- 8ed0eb8: Every error key the code throws now has a translation. Twelve keys were missing from the catalogue, so users and logs saw the raw key: ten thrown keys plus the `CAPTCHA.INVALID_TIMESTAMP` and `CAPTCHA.DECISION_MACHINE_DENIED` result reasons. They are added to all 32 locales. The database import error threw `DATABASE.DATABASE_IMPORT_ERROR`, a typo for the existing `DATABASE.DATABASE_IMPORT_FAILED`. A new test fails if an error is thrown with a key that is not in the catalogue.
|
|
7
|
+
- 06784d0: Translation keys are now a typed union built from the English catalogue, so calling the translator with a key that does not exist fails to compile. Error classes only pass a message to the translator when it is a real catalogue key, and free-text messages are shown as they are.
|
|
8
|
+
- 4461043: Widget accessibility fixes.
|
|
9
|
+
|
|
10
|
+
- Screen readers now announce the checkbox's error message, through a polite live region that exists from the moment the widget mounts.
|
|
11
|
+
- The authenticated ("Verified agent" / "Trusted request") badge now follows `theme: "dark"` and the widget's language.
|
|
12
|
+
- The badge no longer carries a fixed `aria-label`, which hid its visible text and said "Verified agent" even for a trusted request.
|
|
13
|
+
- 92edebd: The widget's loading spinner and the reload icon no longer announce hard-coded English. The spinner is a progress indicator labelled from the new `WIDGET.LOADING` string (in all 32 languages) once translations are loaded, and the reload icon's tooltip uses the same translated label as the button.
|
|
14
|
+
- 54a07f3: Provider errors shown in the widget now use the widget's configured language. The provider translates errors into the browser's language, so a German widget in an English browser showed English errors. The widget now translates the error key itself and keeps the provider's text only for errors its catalogue does not know.
|
|
15
|
+
- b75e9b7: Fix the error FAQ link and translate two widget strings.
|
|
16
|
+
|
|
17
|
+
- The error FAQ link no longer ends in `//` when `PROSOPO_DOCS_URL` is set, and a trailing slash on that variable no longer breaks it.
|
|
18
|
+
- The "Cannot load CAPTCHA" fallback message now shows in the widget's language.
|
|
19
|
+
- The image challenge's reload button now has a translated accessible name instead of always being "Reload".
|
|
20
|
+
- Adds `WIDGET.CANNOT_LOAD` and `WIDGET.RELOAD` to every locale.
|
|
21
|
+
- 6d5b7f5: The widget now lays itself out right to left when its language is written right to left (Arabic today). The bundle sets `dir` on the widget from its language, and the checkbox, spinner and logo use start/end spacing so they mirror. The widget still ignores the page's own direction, so an English widget on an Arabic page stays left to right. `@prosopo/locale` gains `getLanguageDirection` for this.
|
|
22
|
+
- Updated dependencies [de6bb08]
|
|
23
|
+
- Updated dependencies [8d7ba8c]
|
|
24
|
+
- Updated dependencies [995e954]
|
|
25
|
+
- @prosopo/util@3.3.13
|
|
26
|
+
|
|
3
27
|
## 3.6.1
|
|
4
28
|
### Patch Changes
|
|
5
29
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/direction.ts
|
|
2
|
+
var RTL_LANGUAGES = /* @__PURE__ */ new Set([
|
|
3
|
+
"ar",
|
|
4
|
+
"ckb",
|
|
5
|
+
"dv",
|
|
6
|
+
"fa",
|
|
7
|
+
"he",
|
|
8
|
+
"ps",
|
|
9
|
+
"sd",
|
|
10
|
+
"ug",
|
|
11
|
+
"ur",
|
|
12
|
+
"yi"
|
|
13
|
+
]);
|
|
14
|
+
var getLanguageDirection = (language) => {
|
|
15
|
+
const primary = language.split(/[-_]/)[0]?.toLowerCase() ?? "";
|
|
16
|
+
return RTL_LANGUAGES.has(primary) ? "rtl" : "ltr";
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
exports.getLanguageDirection = getLanguageDirection;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const require_translationKey = require("./translationKey.cjs");
|
|
2
|
+
//#region src/errorMessage.ts
|
|
3
|
+
/**
|
|
4
|
+
* The provider translates error messages into the request's Accept-Language,
|
|
5
|
+
* which is the browser's language rather than the widget's. Re-translating the
|
|
6
|
+
* error key on the client shows the error in the language the widget renders
|
|
7
|
+
* in. Free text and keys the catalogue doesn't have keep the server's message.
|
|
8
|
+
*/
|
|
9
|
+
var localiseErrorMessage = (i18n, error) => {
|
|
10
|
+
const { key, message } = error;
|
|
11
|
+
if (!key || !require_translationKey.isTranslationKey(key) || !i18n?.isInitialized) return message;
|
|
12
|
+
return i18n.t(key, { defaultValue: message });
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
exports.localiseErrorMessage = localiseErrorMessage;
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_direction = require("./direction.cjs");
|
|
2
3
|
const require_loadI18next = require("./loadI18next.cjs");
|
|
3
4
|
const require_i18nMiddleware = require("./i18nMiddleware.cjs");
|
|
4
5
|
const require_translations = require("./translations.cjs");
|
|
5
6
|
const require_util = require("./util.cjs");
|
|
6
7
|
const require_translationKey = require("./translationKey.cjs");
|
|
7
8
|
const require_translator = require("./translator.cjs");
|
|
9
|
+
const require_errorMessage = require("./errorMessage.cjs");
|
|
8
10
|
exports.LanguageCodes = require_translations.LanguageCodes;
|
|
9
11
|
exports.Languages = require_translations.Languages;
|
|
10
12
|
exports.createTranslator = require_translator.createTranslator;
|
|
13
|
+
exports.getLanguageDirection = require_direction.getLanguageDirection;
|
|
11
14
|
exports.i18nMiddleware = require_i18nMiddleware.default;
|
|
12
15
|
exports.isClientSide = require_util.isClientSide;
|
|
13
16
|
exports.isLanguage = require_translations.isLanguage;
|
|
17
|
+
exports.isTranslationKey = require_translationKey.isTranslationKey;
|
|
14
18
|
exports.loadI18next = require_loadI18next.default;
|
|
19
|
+
exports.localiseErrorMessage = require_errorMessage.localiseErrorMessage;
|
|
15
20
|
exports.translationKeys = require_translationKey.translationKeys;
|
|
@@ -13,6 +13,11 @@ var WIDGET = {
|
|
|
13
13
|
"INSECURE_CONTEXT": "Procaptcha requires a secure (HTTPS) connection",
|
|
14
14
|
"CHECKING": "Checking that you are human",
|
|
15
15
|
"IMAGE_DIALOG_LABEL": "Image challenge",
|
|
16
|
+
"CANNOT_LOAD": "Cannot load CAPTCHA",
|
|
17
|
+
"RELOAD": "Reload",
|
|
18
|
+
"VERIFIED_AGENT": "Verified agent",
|
|
19
|
+
"TRUSTED_REQUEST": "Trusted request",
|
|
20
|
+
"LOADING": "Loading",
|
|
16
21
|
"PUZZLE": {
|
|
17
22
|
"DIALOG_LABEL": "Puzzle challenge",
|
|
18
23
|
"DRAG": "Drag the piece to the target",
|
|
@@ -36,7 +41,9 @@ var GENERAL = {
|
|
|
36
41
|
"ACCOUNT_NOT_FOUND": "Account not found",
|
|
37
42
|
"SITE_KEY_NOT_FOUND": "Site key not found",
|
|
38
43
|
"INVALID_TIMESTAMP": "Invalid timestamp",
|
|
39
|
-
"MISSING_SECRET_KEY": "Missing secret key"
|
|
44
|
+
"MISSING_SECRET_KEY": "Missing secret key",
|
|
45
|
+
"MISSING_AUTH_HEADER": "Missing authorization header",
|
|
46
|
+
"INVALID_JWT": "Invalid JWT"
|
|
40
47
|
};
|
|
41
48
|
var CONTRACT = {
|
|
42
49
|
"INVALID_ADDRESS": "Failed to encode invalid address",
|
|
@@ -81,7 +88,13 @@ var DATABASE = {
|
|
|
81
88
|
"TABLES_UNDEFINED": "Tables undefined",
|
|
82
89
|
"CONNECTION_UNDEFINED": "Connection undefined",
|
|
83
90
|
"COMMITMENT_FLAG_FAILED": "Failed to flag commitment as processed",
|
|
84
|
-
"UNKNOWN": "Unknown database error"
|
|
91
|
+
"UNKNOWN": "Unknown database error",
|
|
92
|
+
"QUERY_ERROR": "Database query failed",
|
|
93
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "Redis access rules connection undefined",
|
|
94
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "User access rules storage undefined",
|
|
95
|
+
"SESSION_STORE_FAILED": "Failed to store session",
|
|
96
|
+
"SESSION_CHECK_REMOVE_FAILED": "Failed to check and remove session",
|
|
97
|
+
"SESSION_GET_FAILED": "Failed to get session"
|
|
85
98
|
};
|
|
86
99
|
var CAPTCHA = {
|
|
87
100
|
"PARSE_ERROR": "Error parsing captcha",
|
|
@@ -100,7 +113,10 @@ var CAPTCHA = {
|
|
|
100
113
|
"INVALID_SALT": "Invalid salt",
|
|
101
114
|
"INVALID_TOKEN": "Invalid token",
|
|
102
115
|
"INVALID_SOLUTION": "Invalid solution",
|
|
103
|
-
"DECRYPTION_ERROR": "Error decrypting"
|
|
116
|
+
"DECRYPTION_ERROR": "Error decrypting",
|
|
117
|
+
"SOLUTION_NOT_FOUND": "Solution not found",
|
|
118
|
+
"DECISION_MACHINE_DENIED": "Denied by the decision machine",
|
|
119
|
+
"INVALID_TIMESTAMP": "Invalid timestamp"
|
|
104
120
|
};
|
|
105
121
|
var API = {
|
|
106
122
|
"CAPTCHA_FAILED": "You answered one or more captchas incorrectly. Please try again",
|
|
@@ -144,7 +160,8 @@ var API = {
|
|
|
144
160
|
"MOBILE_BLOCKED": "Requests from mobile network connections are not allowed for this site",
|
|
145
161
|
"SATELLITE_BLOCKED": "Requests from satellite connections are not allowed for this site",
|
|
146
162
|
"CRAWLER_BLOCKED": "Requests from known crawlers are not allowed for this site",
|
|
147
|
-
"DISALLOWED_WEBVIEW": "Requests from in-app browsers (WebViews) are not allowed for this site"
|
|
163
|
+
"DISALLOWED_WEBVIEW": "Requests from in-app browsers (WebViews) are not allowed for this site",
|
|
164
|
+
"INTERNAL_SERVER_ERROR": "Internal server error"
|
|
148
165
|
};
|
|
149
166
|
var PORTAL = {
|
|
150
167
|
"CANNOT_MODIFY_OWNER_USER": "Cannot modify owner user",
|
|
@@ -13,6 +13,10 @@ function getLeafFieldPath(obj) {
|
|
|
13
13
|
}, []);
|
|
14
14
|
}
|
|
15
15
|
var translationKeys = getLeafFieldPath(require_translation.default);
|
|
16
|
+
var translationKeySet = new Set(translationKeys);
|
|
17
|
+
/** For keys that only exist at runtime, e.g. an error message. */
|
|
18
|
+
var isTranslationKey = (value) => translationKeySet.has(value);
|
|
16
19
|
//#endregion
|
|
17
20
|
exports.getLeafFieldPath = getLeafFieldPath;
|
|
21
|
+
exports.isTranslationKey = isTranslationKey;
|
|
18
22
|
exports.translationKeys = translationKeys;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direction.d.ts","sourceRoot":"","sources":["../src/direction.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,KAAK,CAAC;AAkB1C,eAAO,MAAM,oBAAoB,aAAc,MAAM,KAAG,aAGvD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/direction.ts
|
|
2
|
+
var RTL_LANGUAGES = /* @__PURE__ */ new Set([
|
|
3
|
+
"ar",
|
|
4
|
+
"ckb",
|
|
5
|
+
"dv",
|
|
6
|
+
"fa",
|
|
7
|
+
"he",
|
|
8
|
+
"ps",
|
|
9
|
+
"sd",
|
|
10
|
+
"ug",
|
|
11
|
+
"ur",
|
|
12
|
+
"yi"
|
|
13
|
+
]);
|
|
14
|
+
var getLanguageDirection = (language) => {
|
|
15
|
+
const primary = language.split(/[-_]/)[0]?.toLowerCase() ?? "";
|
|
16
|
+
return RTL_LANGUAGES.has(primary) ? "rtl" : "ltr";
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
export { getLanguageDirection };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direction.js","sourceRoot":"","sources":["../src/direction.ts"],"names":[],"mappings":"AAmBA,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IAClD,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACJ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAiB,EAAE;IACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAC/D,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACnD,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Ti18n } from "./types.js";
|
|
2
|
+
export interface KeyedErrorMessage {
|
|
3
|
+
message: string;
|
|
4
|
+
key?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const localiseErrorMessage: (i18n: Ti18n | undefined, error: KeyedErrorMessage) => string;
|
|
7
|
+
//# sourceMappingURL=errorMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorMessage.d.ts","sourceRoot":"","sources":["../src/errorMessage.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAQD,eAAO,MAAM,oBAAoB,SAC1B,KAAK,GAAG,SAAS,SAChB,iBAAiB,KACtB,MAMF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { isTranslationKey } from "./translationKey.js";
|
|
2
|
+
//#region src/errorMessage.ts
|
|
3
|
+
/**
|
|
4
|
+
* The provider translates error messages into the request's Accept-Language,
|
|
5
|
+
* which is the browser's language rather than the widget's. Re-translating the
|
|
6
|
+
* error key on the client shows the error in the language the widget renders
|
|
7
|
+
* in. Free text and keys the catalogue doesn't have keep the server's message.
|
|
8
|
+
*/
|
|
9
|
+
var localiseErrorMessage = (i18n, error) => {
|
|
10
|
+
const { key, message } = error;
|
|
11
|
+
if (!key || !isTranslationKey(key) || !i18n?.isInitialized) return message;
|
|
12
|
+
return i18n.t(key, { defaultValue: message });
|
|
13
|
+
};
|
|
14
|
+
//#endregion
|
|
15
|
+
export { localiseErrorMessage };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorMessage.js","sourceRoot":"","sources":["../src/errorMessage.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAcvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CACnC,IAAuB,EACvB,KAAwB,EACf,EAAE;IACX,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;QAC5D,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
+
export { getLanguageDirection } from "./direction.js";
|
|
2
|
+
export type { TextDirection } from "./direction.js";
|
|
1
3
|
export { default as i18nMiddleware } from "./i18nMiddleware.js";
|
|
2
4
|
export { default as loadI18next } from "./loadI18next.js";
|
|
3
5
|
export { isLanguage, LanguageCodes, Languages } from "./translations.js";
|
|
4
6
|
export type { Language } from "./translations.js";
|
|
5
7
|
export { isClientSide } from "./util.js";
|
|
6
|
-
export { translationKeys } from "./translationKey.js";
|
|
8
|
+
export { isTranslationKey, translationKeys } from "./translationKey.js";
|
|
7
9
|
export type { TranslationKey } from "./translationKey.js";
|
|
8
10
|
export { createTranslator } from "./translator.js";
|
|
9
11
|
export type { Translator } from "./translator.js";
|
|
10
12
|
export type { I18nEvent, Ti18n, TranslateFn, TranslateOptions, } from "./types.js";
|
|
13
|
+
export { localiseErrorMessage } from "./errorMessage.js";
|
|
14
|
+
export type { KeyedErrorMessage } from "./errorMessage.js";
|
|
11
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","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,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EACX,SAAS,EACT,KAAK,EACL,WAAW,EACX,gBAAgB,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import "./_virtual/_rolldown/runtime.js";
|
|
2
|
+
import { getLanguageDirection } from "./direction.js";
|
|
2
3
|
import loadI18next from "./loadI18next.js";
|
|
3
4
|
import i18nMiddleware from "./i18nMiddleware.js";
|
|
4
5
|
import { LanguageCodes, Languages, isLanguage } from "./translations.js";
|
|
5
6
|
import { isClientSide } from "./util.js";
|
|
6
|
-
import { translationKeys } from "./translationKey.js";
|
|
7
|
+
import { isTranslationKey, translationKeys } from "./translationKey.js";
|
|
7
8
|
import { createTranslator } from "./translator.js";
|
|
8
|
-
|
|
9
|
+
import { localiseErrorMessage } from "./errorMessage.js";
|
|
10
|
+
export { LanguageCodes, Languages, createTranslator, getLanguageDirection, i18nMiddleware, isClientSide, isLanguage, isTranslationKey, loadI18next, localiseErrorMessage, translationKeys };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +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,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAQnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"INVALID_SIGNATURE": "توقيع غير صالح",
|
|
11
11
|
"SITE_KEY_MISSING": "مفتاح الموقع مفقود",
|
|
12
12
|
"ACCOUNT_NOT_FOUND": "الحساب غير موجود",
|
|
13
|
-
"INVALID_TIMESTAMP": "الطابع الزمني غير صالح"
|
|
13
|
+
"INVALID_TIMESTAMP": "الطابع الزمني غير صالح",
|
|
14
|
+
"MISSING_AUTH_HEADER": "ترويسة التفويض مفقودة",
|
|
15
|
+
"INVALID_JWT": "رمز JWT غير صالح"
|
|
14
16
|
},
|
|
15
17
|
"API": {
|
|
16
18
|
"INSUFFICIENT_PERMISSIONS": "صلاحيات غير كافية لأداء هذا الإجراء",
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
"MOBILE_BLOCKED": "لا يُسمح بالطلبات من شبكات الهاتف المحمول لهذا الموقع",
|
|
55
57
|
"SATELLITE_BLOCKED": "لا يُسمح بالطلبات من الاتصالات الفضائية لهذا الموقع",
|
|
56
58
|
"CRAWLER_BLOCKED": "لا يُسمح بالطلبات من برامج الزحف المعروفة لهذا الموقع",
|
|
57
|
-
"DISALLOWED_WEBVIEW": "الطلبات من المتصفحات داخل التطبيقات (WebView) غير مسموح بها لهذا الموقع"
|
|
59
|
+
"DISALLOWED_WEBVIEW": "الطلبات من المتصفحات داخل التطبيقات (WebView) غير مسموح بها لهذا الموقع",
|
|
60
|
+
"INTERNAL_SERVER_ERROR": "خطأ داخلي في الخادم"
|
|
58
61
|
},
|
|
59
62
|
"PORTAL": {
|
|
60
63
|
"CANNOT_MODIFY_OWNER_USER": "لا يمكن تعديل مالك المستخدم",
|
|
@@ -381,6 +384,11 @@
|
|
|
381
384
|
"INSECURE_CONTEXT": "يتطلب Procaptcha اتصالاً آمنًا (HTTPS)",
|
|
382
385
|
"CHECKING": "جارٍ التحقق من أنك إنسان",
|
|
383
386
|
"IMAGE_DIALOG_LABEL": "اختبار الصور",
|
|
387
|
+
"CANNOT_LOAD": "تعذّر تحميل اختبار CAPTCHA",
|
|
388
|
+
"RELOAD": "إعادة تحميل",
|
|
389
|
+
"VERIFIED_AGENT": "وكيل موثَّق",
|
|
390
|
+
"TRUSTED_REQUEST": "طلب موثوق",
|
|
391
|
+
"LOADING": "جارٍ التحميل",
|
|
384
392
|
"PUZZLE": {
|
|
385
393
|
"DIALOG_LABEL": "اختبار الأحجية",
|
|
386
394
|
"DRAG": "اسحب القطعة إلى الهدف",
|
|
@@ -436,7 +444,13 @@
|
|
|
436
444
|
"TABLES_UNDEFINED": "جداول غير معرفة",
|
|
437
445
|
"CONNECTION_UNDEFINED": "الاتصال غير معرف",
|
|
438
446
|
"COMMITMENT_FLAG_FAILED": "فشل في تحديد التعهد كمعالج",
|
|
439
|
-
"UNKNOWN": "خطأ غير معروف في قاعدة البيانات"
|
|
447
|
+
"UNKNOWN": "خطأ غير معروف في قاعدة البيانات",
|
|
448
|
+
"QUERY_ERROR": "فشل استعلام قاعدة البيانات",
|
|
449
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "اتصال Redis لقواعد الوصول غير معرف",
|
|
450
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "تخزين قواعد وصول المستخدم غير معرف",
|
|
451
|
+
"SESSION_STORE_FAILED": "فشل تخزين الجلسة",
|
|
452
|
+
"SESSION_CHECK_REMOVE_FAILED": "فشل التحقق من الجلسة وإزالتها",
|
|
453
|
+
"SESSION_GET_FAILED": "فشل الحصول على الجلسة"
|
|
440
454
|
},
|
|
441
455
|
"CAPTCHA": {
|
|
442
456
|
"PARSE_ERROR": "خطأ في تحليل كلمة التحقق",
|
|
@@ -455,7 +469,10 @@
|
|
|
455
469
|
"INVALID_SALT": "ملح غير صالح",
|
|
456
470
|
"INVALID_TOKEN": "الرمز غير صالح",
|
|
457
471
|
"INVALID_SOLUTION": "الحل غير صالح",
|
|
458
|
-
"DECRYPTION_ERROR": "خطأ في فك التشفير"
|
|
472
|
+
"DECRYPTION_ERROR": "خطأ في فك التشفير",
|
|
473
|
+
"SOLUTION_NOT_FOUND": "الحل غير موجود",
|
|
474
|
+
"DECISION_MACHINE_DENIED": "رُفض بواسطة آلة القرار",
|
|
475
|
+
"INVALID_TIMESTAMP": "الطابع الزمني غير صالح"
|
|
459
476
|
},
|
|
460
477
|
"CLI": {
|
|
461
478
|
"PARAMETER_ERROR": "معلمة غير صالحة"
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"INVALID_SIGNATURE": "Yanlış imza",
|
|
11
11
|
"SITE_KEY_MISSING": "SITE KEY çatışmır",
|
|
12
12
|
"ACCOUNT_NOT_FOUND": "Hesab tapılmadı",
|
|
13
|
-
"INVALID_TIMESTAMP": "Yanlış vaxt damğı"
|
|
13
|
+
"INVALID_TIMESTAMP": "Yanlış vaxt damğı",
|
|
14
|
+
"MISSING_AUTH_HEADER": "Avtorizasiya başlığı yoxdur",
|
|
15
|
+
"INVALID_JWT": "Etibarsız JWT"
|
|
14
16
|
},
|
|
15
17
|
"API": {
|
|
16
18
|
"INSUFFICIENT_PERMISSIONS": "Bu əməliyyatı yerinə yetirmək üçün kifayət qədər icazə yoxdur",
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
"MOBILE_BLOCKED": "Bu sayt üçün mobil şəbəkə bağlantılarından sorğulara icazə verilmir",
|
|
55
57
|
"SATELLITE_BLOCKED": "Bu sayt üçün peyk bağlantılarından sorğulara icazə verilmir",
|
|
56
58
|
"CRAWLER_BLOCKED": "Bu sayt üçün tanınmış tarayıcılardan sorğulara icazə verilmir",
|
|
57
|
-
"DISALLOWED_WEBVIEW": "Bu sayt üçün tətbiqdaxili brauzerlərdən (WebView) sorğulara icazə verilmir"
|
|
59
|
+
"DISALLOWED_WEBVIEW": "Bu sayt üçün tətbiqdaxili brauzerlərdən (WebView) sorğulara icazə verilmir",
|
|
60
|
+
"INTERNAL_SERVER_ERROR": "Daxili server xətası"
|
|
58
61
|
},
|
|
59
62
|
"PORTAL": {
|
|
60
63
|
"CANNOT_MODIFY_OWNER_USER": "Sahib istifadəçini dəyişmək olmaz",
|
|
@@ -381,6 +384,11 @@
|
|
|
381
384
|
"INSECURE_CONTEXT": "Procaptcha təhlükəsiz (HTTPS) bağlantı tələb edir",
|
|
382
385
|
"CHECKING": "İnsan olduğunuz yoxlanılır",
|
|
383
386
|
"IMAGE_DIALOG_LABEL": "Şəkil yoxlaması",
|
|
387
|
+
"CANNOT_LOAD": "CAPTCHA yüklənə bilmir",
|
|
388
|
+
"RELOAD": "Yenidən yüklə",
|
|
389
|
+
"VERIFIED_AGENT": "Təsdiqlənmiş agent",
|
|
390
|
+
"TRUSTED_REQUEST": "Etibarlı sorğu",
|
|
391
|
+
"LOADING": "Yüklənir",
|
|
384
392
|
"PUZZLE": {
|
|
385
393
|
"DIALOG_LABEL": "Tapmaca yoxlaması",
|
|
386
394
|
"DRAG": "Hissəni hədəfə sürüşdürün",
|
|
@@ -436,7 +444,13 @@
|
|
|
436
444
|
"TABLES_UNDEFINED": "Cədvəllər müəyyən edilməyib",
|
|
437
445
|
"CONNECTION_UNDEFINED": "Qoşulma müəyyənləndirilməyib",
|
|
438
446
|
"COMMITMENT_FLAG_FAILED": "Müvafiq olaraq işarələmək alınmadı",
|
|
439
|
-
"UNKNOWN": "Naməlum verilənlər bazası səhvi"
|
|
447
|
+
"UNKNOWN": "Naməlum verilənlər bazası səhvi",
|
|
448
|
+
"QUERY_ERROR": "Verilənlər bazası sorğusu uğursuz oldu",
|
|
449
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "Redis giriş qaydaları bağlantısı təyin edilməyib",
|
|
450
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "İstifadəçi giriş qaydaları yaddaşı təyin edilməyib",
|
|
451
|
+
"SESSION_STORE_FAILED": "Sessiyanı saxlamaq alınmadı",
|
|
452
|
+
"SESSION_CHECK_REMOVE_FAILED": "Sessiyanı yoxlamaq və silmək alınmadı",
|
|
453
|
+
"SESSION_GET_FAILED": "Sessiyanı almaq alınmadı"
|
|
440
454
|
},
|
|
441
455
|
"CAPTCHA": {
|
|
442
456
|
"PARSE_ERROR": "Captcha analiz edərkən səhv",
|
|
@@ -455,7 +469,10 @@
|
|
|
455
469
|
"INVALID_SALT": "Yanlış duz",
|
|
456
470
|
"INVALID_TOKEN": "Yanlış token",
|
|
457
471
|
"INVALID_SOLUTION": "Yanlış həll",
|
|
458
|
-
"DECRYPTION_ERROR": "Şifrəni çözərkən səhv"
|
|
472
|
+
"DECRYPTION_ERROR": "Şifrəni çözərkən səhv",
|
|
473
|
+
"SOLUTION_NOT_FOUND": "Həll tapılmadı",
|
|
474
|
+
"DECISION_MACHINE_DENIED": "Qərar maşını tərəfindən rədd edildi",
|
|
475
|
+
"INVALID_TIMESTAMP": "Yanlış vaxt damğı"
|
|
459
476
|
},
|
|
460
477
|
"CLI": {
|
|
461
478
|
"PARAMETER_ERROR": "Yanlış parametr"
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"INVALID_SIGNATURE": "Neplatný podpis",
|
|
11
11
|
"SITE_KEY_MISSING": "Chybějící SITE KEY",
|
|
12
12
|
"ACCOUNT_NOT_FOUND": "Účet nenalezen",
|
|
13
|
-
"INVALID_TIMESTAMP": "Neplatný časový razítko"
|
|
13
|
+
"INVALID_TIMESTAMP": "Neplatný časový razítko",
|
|
14
|
+
"MISSING_AUTH_HEADER": "Chybí autorizační hlavička",
|
|
15
|
+
"INVALID_JWT": "Neplatný JWT"
|
|
14
16
|
},
|
|
15
17
|
"API": {
|
|
16
18
|
"INSUFFICIENT_PERMISSIONS": "Nedostatečná oprávnění k provedení této akce",
|
|
@@ -54,7 +56,8 @@
|
|
|
54
56
|
"MOBILE_BLOCKED": "Požadavky z mobilních sítí nejsou pro tento web povoleny",
|
|
55
57
|
"SATELLITE_BLOCKED": "Požadavky ze satelitních připojení nejsou pro tento web povoleny",
|
|
56
58
|
"CRAWLER_BLOCKED": "Požadavky ze známých crawlerů nejsou pro tento web povoleny",
|
|
57
|
-
"DISALLOWED_WEBVIEW": "Požadavky z prohlížečů v aplikacích (WebView) nejsou pro tento web povoleny"
|
|
59
|
+
"DISALLOWED_WEBVIEW": "Požadavky z prohlížečů v aplikacích (WebView) nejsou pro tento web povoleny",
|
|
60
|
+
"INTERNAL_SERVER_ERROR": "Interní chyba serveru"
|
|
58
61
|
},
|
|
59
62
|
"PORTAL": {
|
|
60
63
|
"CANNOT_MODIFY_OWNER_USER": "Nelze upravit vlastníka uživatele",
|
|
@@ -381,6 +384,11 @@
|
|
|
381
384
|
"INSECURE_CONTEXT": "Procaptcha vyžaduje zabezpečené připojení (HTTPS)",
|
|
382
385
|
"CHECKING": "Ověřujeme, že jste člověk",
|
|
383
386
|
"IMAGE_DIALOG_LABEL": "Obrázkový úkol",
|
|
387
|
+
"CANNOT_LOAD": "CAPTCHA nelze načíst",
|
|
388
|
+
"RELOAD": "Načíst znovu",
|
|
389
|
+
"VERIFIED_AGENT": "Ověřený agent",
|
|
390
|
+
"TRUSTED_REQUEST": "Důvěryhodný požadavek",
|
|
391
|
+
"LOADING": "Načítání",
|
|
384
392
|
"PUZZLE": {
|
|
385
393
|
"DIALOG_LABEL": "Skládačkový úkol",
|
|
386
394
|
"DRAG": "Přetáhněte dílek na cíl",
|
|
@@ -436,7 +444,13 @@
|
|
|
436
444
|
"TABLES_UNDEFINED": "Tabulky nedefinovány",
|
|
437
445
|
"CONNECTION_UNDEFINED": "Připojení není definováno",
|
|
438
446
|
"COMMITMENT_FLAG_FAILED": "Nepodařilo se označit závazek jako zpracovaný",
|
|
439
|
-
"UNKNOWN": "Neznámá chyba databáze"
|
|
447
|
+
"UNKNOWN": "Neznámá chyba databáze",
|
|
448
|
+
"QUERY_ERROR": "Dotaz do databáze selhal",
|
|
449
|
+
"REDIS_ACCESS_RULES_CONNECTION_UNDEFINED": "Připojení Redis pro pravidla přístupu není definováno",
|
|
450
|
+
"USER_ACCESS_RULES_STORAGE_UNDEFINED": "Úložiště pravidel přístupu uživatelů není definováno",
|
|
451
|
+
"SESSION_STORE_FAILED": "Uložení relace se nezdařilo",
|
|
452
|
+
"SESSION_CHECK_REMOVE_FAILED": "Kontrola a odebrání relace se nezdařily",
|
|
453
|
+
"SESSION_GET_FAILED": "Načtení relace se nezdařilo"
|
|
440
454
|
},
|
|
441
455
|
"CAPTCHA": {
|
|
442
456
|
"PARSE_ERROR": "Chyba při analýze captcha",
|
|
@@ -455,7 +469,10 @@
|
|
|
455
469
|
"INVALID_SALT": "Neplatný salt",
|
|
456
470
|
"INVALID_TOKEN": "Neplatný token",
|
|
457
471
|
"INVALID_SOLUTION": "Neplatné řešení",
|
|
458
|
-
"DECRYPTION_ERROR": "Chyba dešifrování"
|
|
472
|
+
"DECRYPTION_ERROR": "Chyba dešifrování",
|
|
473
|
+
"SOLUTION_NOT_FOUND": "Řešení nenalezeno",
|
|
474
|
+
"DECISION_MACHINE_DENIED": "Zamítnuto rozhodovacím strojem",
|
|
475
|
+
"INVALID_TIMESTAMP": "Neplatný časový razítko"
|
|
459
476
|
},
|
|
460
477
|
"CLI": {
|
|
461
478
|
"PARAMETER_ERROR": "Neplatný parametr"
|