@prosopo/locale 3.2.4 → 3.2.6

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.
Files changed (73) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +3 -3
  2. package/.turbo/turbo-build$colon$tsc.log +5 -5
  3. package/.turbo/turbo-build.log +5 -5
  4. package/.turbo/turbo-typecheck.log +1 -1
  5. package/CHANGELOG.md +10 -0
  6. package/dist/cjs/locales/en/translation.json.cjs +1 -1
  7. package/dist/locales/ar/translation.json +1 -0
  8. package/dist/locales/az/translation.json +1 -0
  9. package/dist/locales/cs/translation.json +1 -0
  10. package/dist/locales/de/translation.json +1 -0
  11. package/dist/locales/el/translation.json +1 -0
  12. package/dist/locales/en/translation.json +1 -0
  13. package/dist/locales/en/translation.json.js +1 -1
  14. package/dist/locales/es/translation.json +1 -0
  15. package/dist/locales/fi/translation.json +1 -0
  16. package/dist/locales/fr/translation.json +1 -0
  17. package/dist/locales/hi/translation.json +1 -0
  18. package/dist/locales/hu/translation.json +1 -0
  19. package/dist/locales/id/translation.json +1 -0
  20. package/dist/locales/it/translation.json +1 -0
  21. package/dist/locales/ja/translation.json +1 -0
  22. package/dist/locales/jv/translation.json +1 -0
  23. package/dist/locales/ko/translation.json +1 -0
  24. package/dist/locales/ml/translation.json +1 -0
  25. package/dist/locales/ms/translation.json +1 -0
  26. package/dist/locales/nl/translation.json +1 -0
  27. package/dist/locales/no/translation.json +1 -0
  28. package/dist/locales/pl/translation.json +1 -0
  29. package/dist/locales/pt/translation.json +1 -0
  30. package/dist/locales/pt-BR/translation.json +1 -0
  31. package/dist/locales/ro/translation.json +1 -0
  32. package/dist/locales/ru/translation.json +1 -0
  33. package/dist/locales/sr/translation.json +1 -0
  34. package/dist/locales/sv/translation.json +1 -0
  35. package/dist/locales/th/translation.json +1 -0
  36. package/dist/locales/tr/translation.json +1 -0
  37. package/dist/locales/uk/translation.json +1 -0
  38. package/dist/locales/vi/translation.json +1 -0
  39. package/dist/locales/zh-CN/translation.json +1 -0
  40. package/package.json +3 -3
  41. package/src/locales/ar/translation.json +1 -0
  42. package/src/locales/az/translation.json +1 -0
  43. package/src/locales/cs/translation.json +1 -0
  44. package/src/locales/de/translation.json +1 -0
  45. package/src/locales/el/translation.json +1 -0
  46. package/src/locales/en/translation.json +1 -0
  47. package/src/locales/es/translation.json +1 -0
  48. package/src/locales/fi/translation.json +1 -0
  49. package/src/locales/fr/translation.json +1 -0
  50. package/src/locales/hi/translation.json +1 -0
  51. package/src/locales/hu/translation.json +1 -0
  52. package/src/locales/id/translation.json +1 -0
  53. package/src/locales/it/translation.json +1 -0
  54. package/src/locales/ja/translation.json +1 -0
  55. package/src/locales/jv/translation.json +1 -0
  56. package/src/locales/ko/translation.json +1 -0
  57. package/src/locales/ml/translation.json +1 -0
  58. package/src/locales/ms/translation.json +1 -0
  59. package/src/locales/nl/translation.json +1 -0
  60. package/src/locales/no/translation.json +1 -0
  61. package/src/locales/pl/translation.json +1 -0
  62. package/src/locales/pt/translation.json +1 -0
  63. package/src/locales/pt-BR/translation.json +1 -0
  64. package/src/locales/ro/translation.json +1 -0
  65. package/src/locales/ru/translation.json +1 -0
  66. package/src/locales/sr/translation.json +1 -0
  67. package/src/locales/sv/translation.json +1 -0
  68. package/src/locales/th/translation.json +1 -0
  69. package/src/locales/tr/translation.json +1 -0
  70. package/src/locales/uk/translation.json +1 -0
  71. package/src/locales/vi/translation.json +1 -0
  72. package/src/locales/zh-CN/translation.json +1 -0
  73. package/tsconfig.tsbuildinfo +1 -1
@@ -1,5 +1,5 @@
1
1
 
2
- > @prosopo/locale@3.2.4 build:cjs
2
+ > @prosopo/locale@3.2.6 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
@@ -24,8 +24,8 @@ rendering chunks...
24
24
  dist/cjs/translations.cjs  0.83 kB
25
25
  dist/cjs/i18nBackend.cjs  1.41 kB
26
26
  dist/cjs/i18nFrontend.cjs  2.79 kB
27
- dist/cjs/locales/en/translation.json.cjs 15.37 kB
28
- ✓ built in 287ms
27
+ dist/cjs/locales/en/translation.json.cjs 15.40 kB
28
+ ✓ built in 292ms
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
@@ -1,14 +1,14 @@
1
1
 
2
- > @prosopo/locale@3.2.4 build:tsc
2
+ > @prosopo/locale@3.2.6 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 8:13:55 AM - Projects in this build:
5
+ 3:09:18 PM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * tsconfig.json
8
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'
9
+ 3:09:18 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'
10
10
 
11
- 8:13:55 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
11
+ 3:09:18 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
12
12
 
13
- 8:13:55 AM - Building project '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json'...
13
+ 3:09:18 PM - Building project '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json'...
14
14
 
@@ -1,9 +1,9 @@
1
1
 
2
- > @prosopo/locale@3.2.4 build
2
+ > @prosopo/locale@3.2.6 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/locale@3.2.4 build:cross-env
6
+ > @prosopo/locale@3.2.6 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
@@ -25,15 +25,15 @@ rendering chunks...
25
25
  dist/loadI18next.js  0.71 kB
26
26
  dist/i18nBackend.js  0.88 kB
27
27
  dist/i18nFrontend.js  2.03 kB
28
- dist/locales/en/translation.json.js 15.04 kB
29
- ✓ built in 262ms
28
+ dist/locales/en/translation.json.js 15.07 kB
29
+ ✓ built in 274ms
30
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
31
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
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
33
32
  [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
34
33
  [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
35
34
  [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
36
35
  [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
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
37
37
  [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
38
38
  [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
39
39
  [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
@@ -1,4 +1,4 @@
1
1
 
2
- > @prosopo/locale@3.2.4 typecheck
2
+ > @prosopo/locale@3.2.6 typecheck
3
3
  > tsc --project tsconfig.types.json
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @prosopo/locale
2
2
 
3
+ ## 3.2.6
4
+ ### Patch Changes
5
+
6
+ - f9e8c94: chore(deps): bump i18next-fs-backend from 2.6.0 to 2.6.6
7
+
8
+ ## 3.2.5
9
+ ### Patch Changes
10
+
11
+ - edcd450: Validate salt-encoded coords in PoW and puzzle verification and add a `CAPTCHA_INVALID_SALT` result reason. Invalid input now produces a disapproval rather than a partial write.
12
+
3
13
  ## 3.2.4
4
14
  ### Patch Changes
5
15
 
@@ -7,7 +7,7 @@ const CONTRACT = { "INVALID_ADDRESS": "Failed to encode invalid address", "CAPTC
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
- 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" };
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_SALT": "Invalid salt", "INVALID_TOKEN": "Invalid token", "INVALID_SOLUTION": "Invalid solution", "DECRYPTION_ERROR": "Error decrypting" };
11
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
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" };
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "لم يتم العثور على captcha",
437
437
  "NO_SESSION_FOUND": "لم يتم العثور على جلسة",
438
438
  "IP_ADDRESS_MISMATCH": "عناوين IP غير متطابقة",
439
+ "INVALID_SALT": "ملح غير صالح",
439
440
  "INVALID_TOKEN": "الرمز غير صالح",
440
441
  "INVALID_SOLUTION": "الحل غير صالح",
441
442
  "DECRYPTION_ERROR": "خطأ في فك التشفير"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Captcha tapılmadı",
437
437
  "NO_SESSION_FOUND": "Seans tapılmadı",
438
438
  "IP_ADDRESS_MISMATCH": "IP ünvanları uyğun gəlmir",
439
+ "INVALID_SALT": "Yanlış duz",
439
440
  "INVALID_TOKEN": "Yanlış token",
440
441
  "INVALID_SOLUTION": "Yanlış həll",
441
442
  "DECRYPTION_ERROR": "Şifrəni çözərkən səhv"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "CAPTCHA nenalezena",
437
437
  "NO_SESSION_FOUND": "Žádná relace nenalezena",
438
438
  "IP_ADDRESS_MISMATCH": "IP adresy se neshodují",
439
+ "INVALID_SALT": "Neplatný salt",
439
440
  "INVALID_TOKEN": "Neplatný token",
440
441
  "INVALID_SOLUTION": "Neplatné řešení",
441
442
  "DECRYPTION_ERROR": "Chyba dešifrování"
@@ -137,6 +137,7 @@
137
137
  "NO_CAPTCHA": "Kein Captcha gefunden",
138
138
  "NO_SESSION_FOUND": "Keine Session gefunden",
139
139
  "IP_ADDRESS_MISMATCH": "IP-Adresse stimmt nicht überein",
140
+ "INVALID_SALT": "Ungültiges Salt",
140
141
  "INVALID_TOKEN": "Ungültiges Token",
141
142
  "INVALID_SOLUTION": "Ungültige Lösung",
142
143
  "DECRYPTION_ERROR": "Fehler beim Entschlüsseln"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Δε βρέθηκε captcha",
437
437
  "NO_SESSION_FOUND": "Δε βρέθηκε συνεδρία",
438
438
  "IP_ADDRESS_MISMATCH": "Οι διευθύνσεις IP δεν ταιριάζουν",
439
+ "INVALID_SALT": "Μη έγκυρο salt",
439
440
  "INVALID_TOKEN": "Μη έγκυρο τεκμήριο",
440
441
  "INVALID_SOLUTION": "Μη έγκυρη λύση",
441
442
  "DECRYPTION_ERROR": "Σφάλμα αποκρυπτογράφησης"
@@ -86,6 +86,7 @@
86
86
  "NO_CAPTCHA": "No captcha found",
87
87
  "NO_SESSION_FOUND": "No session found",
88
88
  "IP_ADDRESS_MISMATCH": "IP address mismatch detected",
89
+ "INVALID_SALT": "Invalid salt",
89
90
  "INVALID_TOKEN": "Invalid token",
90
91
  "INVALID_SOLUTION": "Invalid solution",
91
92
  "DECRYPTION_ERROR": "Error decrypting"
@@ -5,7 +5,7 @@ const CONTRACT = { "INVALID_ADDRESS": "Failed to encode invalid address", "CAPTC
5
5
  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" };
6
6
  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" };
7
7
  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" };
8
- 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" };
8
+ 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_SALT": "Invalid salt", "INVALID_TOKEN": "Invalid token", "INVALID_SOLUTION": "Invalid solution", "DECRYPTION_ERROR": "Error decrypting" };
9
9
  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" };
10
10
  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" };
11
11
  const CLI = { "PARAMETER_ERROR": "Invalid parameter" };
@@ -137,6 +137,7 @@
137
137
  "NO_CAPTCHA": "No se encontró captcha",
138
138
  "NO_SESSION_FOUND": "No se encontró ninguna sesión",
139
139
  "IP_ADDRESS_MISMATCH": "Las direcciones IP no coinciden",
140
+ "INVALID_SALT": "Salt no válido",
140
141
  "INVALID_TOKEN": "Token inválido",
141
142
  "INVALID_SOLUTION": "Solución inválida",
142
143
  "DECRYPTION_ERROR": "Error de descifrado"
@@ -8,6 +8,7 @@
8
8
  "NO_CAPTCHA": "Ei löytynyt captchaa",
9
9
  "NO_SESSION_FOUND": "Ei löytynyt istuntoa",
10
10
  "IP_ADDRESS_MISMATCH": "IP-osoitteet eivät täsmää",
11
+ "INVALID_SALT": "Virheellinen suola",
11
12
  "INVALID_TOKEN": "Virheellinen tunniste",
12
13
  "INVALID_SOLUTION": "Virheellinen ratkaisu",
13
14
  "DECRYPTION_ERROR": "Virhe salauksessa",
@@ -137,6 +137,7 @@
137
137
  "NO_CAPTCHA": "Aucun captcha trouvé",
138
138
  "NO_SESSION_FOUND": "Aucune session trouvée",
139
139
  "IP_ADDRESS_MISMATCH": "Les adresses IP ne correspondent pas",
140
+ "INVALID_SALT": "Sel invalide",
140
141
  "INVALID_TOKEN": "Jeton invalide",
141
142
  "INVALID_SOLUTION": "Solution invalide",
142
143
  "DECRYPTION_ERROR": "Erreur de décryptage"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "कई कपच नह मल",
437
437
  "NO_SESSION_FOUND": "कई सतर नह मल",
438
438
  "IP_ADDRESS_MISMATCH": "IP पते मेल नहीं खाते",
439
+ "INVALID_SALT": "अमान्य सॉल्ट",
439
440
  "INVALID_TOKEN": "अमनय टकन",
440
441
  "INVALID_SOLUTION": "अमनय समधन",
441
442
  "DECRYPTION_ERROR": "डकरपशन तरट"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Nincs captcha található",
437
437
  "NO_SESSION_FOUND": "Nincs található munkamenet",
438
438
  "IP_ADDRESS_MISMATCH": "Az IP címek nem egyeznek",
439
+ "INVALID_SALT": "Érvénytelen só",
439
440
  "INVALID_TOKEN": "Érvénytelen token",
440
441
  "INVALID_SOLUTION": "Érvénytelen megoldás",
441
442
  "DECRYPTION_ERROR": "Hiba a titkosítás közben"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "No captcha found",
437
437
  "NO_SESSION_FOUND": "No session found",
438
438
  "IP_ADDRESS_MISMATCH": "Alamat IP tidak cocok",
439
+ "INVALID_SALT": "Salt tidak valid",
439
440
  "INVALID_TOKEN": "Invalid token",
440
441
  "INVALID_SOLUTION": "Invalid solution",
441
442
  "DECRYPTION_ERROR": "Error decrypting"
@@ -137,6 +137,7 @@
137
137
  "NO_CAPTCHA": "Nessun captcha trovato",
138
138
  "NO_SESSION_FOUND": "Nessuna sessione trovata",
139
139
  "IP_ADDRESS_MISMATCH": "Gli indirizzi IP non corrispondono",
140
+ "INVALID_SALT": "Salt non valido",
140
141
  "INVALID_TOKEN": "Token non valido",
141
142
  "INVALID_SOLUTION": "Soluzione non valida",
142
143
  "DECRYPTION_ERROR": "Errore di decodifica"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "キャプチャが見つかりません",
437
437
  "NO_SESSION_FOUND": "セッションが見つかりません",
438
438
  "IP_ADDRESS_MISMATCH": "IPアドレスが一致しません",
439
+ "INVALID_SALT": "無効なソルト",
439
440
  "INVALID_TOKEN": "無効なトークン",
440
441
  "INVALID_SOLUTION": "無効なソリューション",
441
442
  "DECRYPTION_ERROR": "復号エラー"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Tidak ada captcha ditemukan",
437
437
  "NO_SESSION_FOUND": "Tidak ada sesi ditemukan",
438
438
  "IP_ADDRESS_MISMATCH": "Alamat IP ora cocok",
439
+ "INVALID_SALT": "Salt ora bener",
439
440
  "INVALID_TOKEN": "Token tidak valid",
440
441
  "INVALID_SOLUTION": "Solusi tidak valid",
441
442
  "DECRYPTION_ERROR": "Kesalahan dekripsi"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "캡차 없음",
437
437
  "NO_SESSION_FOUND": "세션을 찾을 수 없음",
438
438
  "IP_ADDRESS_MISMATCH": "IP 주소가 일치하지 않습니다",
439
+ "INVALID_SALT": "유효하지 않은 salt",
439
440
  "INVALID_TOKEN": "유효하지 않은 토큰",
440
441
  "INVALID_SOLUTION": "유효하지 않은 솔루션",
441
442
  "DECRYPTION_ERROR": "해제 오류"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Walang natagpuang captcha",
437
437
  "NO_SESSION_FOUND": "Walang natagpuang sesyon",
438
438
  "IP_ADDRESS_MISMATCH": "IP വിലാസങ്ങൾ പൊരുത്തപ്പെടുന്നില്ല",
439
+ "INVALID_SALT": "അസാധുവായ സാൾട്ട്",
439
440
  "INVALID_TOKEN": "Hindi wastong token",
440
441
  "INVALID_SOLUTION": "Hindi wastong solusyon",
441
442
  "DECRYPTION_ERROR": "Error sa pagdedecrypt"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "No captcha found",
437
437
  "NO_SESSION_FOUND": "No session found",
438
438
  "IP_ADDRESS_MISMATCH": "Alamat IP tidak sepadan",
439
+ "INVALID_SALT": "Garam tidak sah",
439
440
  "INVALID_TOKEN": "Invalid token",
440
441
  "INVALID_SOLUTION": "Invalid solution",
441
442
  "DECRYPTION_ERROR": "Error decrypting"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Geen captcha gevonden",
437
437
  "NO_SESSION_FOUND": "Geen sessie gevonden",
438
438
  "IP_ADDRESS_MISMATCH": "IP-adressen komen niet overeen",
439
+ "INVALID_SALT": "Ongeldig salt",
439
440
  "INVALID_TOKEN": "Ongeldige token",
440
441
  "INVALID_SOLUTION": "Ongeldige oplossing",
441
442
  "DECRYPTION_ERROR": "Fout bij decoderen"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Ingen captcha funnet",
437
437
  "NO_SESSION_FOUND": "Ingen økt funnet",
438
438
  "IP_ADDRESS_MISMATCH": "IP-adresser stemmer ikke overens",
439
+ "INVALID_SALT": "Ugyldig salt",
439
440
  "INVALID_TOKEN": "Ugyldig token",
440
441
  "INVALID_SOLUTION": "Ugyldig løsning",
441
442
  "DECRYPTION_ERROR": "Feil ved dekryptering"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Nie znaleziono captchy",
437
437
  "NO_SESSION_FOUND": "Nie znaleziono sesji",
438
438
  "IP_ADDRESS_MISMATCH": "Adresy IP nie pasują",
439
+ "INVALID_SALT": "Nieprawidłowa sól",
439
440
  "INVALID_TOKEN": "Nieprawidłowy token",
440
441
  "INVALID_SOLUTION": "Nieprawidłowe rozwiązanie",
441
442
  "DECRYPTION_ERROR": "Błąd deszyfrowania"
@@ -137,6 +137,7 @@
137
137
  "NO_CAPTCHA": "Nenhum captcha encontrado",
138
138
  "NO_SESSION_FOUND": "Nenhuma sessão encontrada",
139
139
  "IP_ADDRESS_MISMATCH": "Endereços IP não coincidem",
140
+ "INVALID_SALT": "Salt inválido",
140
141
  "INVALID_TOKEN": "Token inválido",
141
142
  "INVALID_SOLUTION": "Solução inválida",
142
143
  "DECRYPTION_ERROR": "Erro de desencriptação"
@@ -137,6 +137,7 @@
137
137
  "NO_CAPTCHA": "Nenhum captcha encontrado",
138
138
  "NO_SESSION_FOUND": "Nenhuma sessão encontrada",
139
139
  "IP_ADDRESS_MISMATCH": "Endereços IP não coincidem",
140
+ "INVALID_SALT": "Salt inválido",
140
141
  "INVALID_TOKEN": "Token inválido",
141
142
  "INVALID_SOLUTION": "Solução inválida",
142
143
  "DECRYPTION_ERROR": "Erro ao descriptografar"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Niciun captcha gasit",
437
437
  "NO_SESSION_FOUND": "Nicio sesiune gasita",
438
438
  "IP_ADDRESS_MISMATCH": "Adresele IP nu se potrivesc",
439
+ "INVALID_SALT": "Salt invalid",
439
440
  "INVALID_TOKEN": "Token invalid",
440
441
  "INVALID_SOLUTION": "Solutie invalida",
441
442
  "DECRYPTION_ERROR": "Eroare la decriptare"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Капча не найдена",
437
437
  "NO_SESSION_FOUND": "Сеанс не найден",
438
438
  "IP_ADDRESS_MISMATCH": "IP адреса не совпадают",
439
+ "INVALID_SALT": "Недействительная соль",
439
440
  "INVALID_TOKEN": "Недействительный токен",
440
441
  "INVALID_SOLUTION": "Недопустимое решение",
441
442
  "DECRYPTION_ERROR": "Ошибка расшифровки"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Капча није пронађена",
437
437
  "NO_SESSION_FOUND": "Сесија није пронађена",
438
438
  "IP_ADDRESS_MISMATCH": "IP адресе се не подударају",
439
+ "INVALID_SALT": "Неважећа со",
439
440
  "INVALID_TOKEN": "Неважећи токен",
440
441
  "INVALID_SOLUTION": "Неважеће решење",
441
442
  "DECRYPTION_ERROR": "Грешка при дешифровању"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Ingen CAPTCHA hittades",
437
437
  "NO_SESSION_FOUND": "Inget-session-hittades",
438
438
  "IP_ADDRESS_MISMATCH": "IP-adresser matchar inte",
439
+ "INVALID_SALT": "Ogiltigt salt",
439
440
  "INVALID_TOKEN": "Ogiltig token",
440
441
  "INVALID_SOLUTION": "Ogiltig lösning",
441
442
  "DECRYPTION_ERROR": "Fel vid avkryptering"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "ไม่พบ captcha",
437
437
  "NO_SESSION_FOUND": "ไม่พบเซสชัน",
438
438
  "IP_ADDRESS_MISMATCH": "ที่อยู่ IP ไม่ตรงกัน",
439
+ "INVALID_SALT": "Salt ไม่ถูกต้อง",
439
440
  "INVALID_TOKEN": "โทเคนไม่ถูกต้อง",
440
441
  "INVALID_SOLUTION": "คำตอบไม่ถูกต้อง",
441
442
  "DECRYPTION_ERROR": "เกิดข้อผิดพลาดในการถอดรหัส"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Hiçbir captcha bulunamadı",
437
437
  "NO_SESSION_FOUND": "Oturum bulunamadı",
438
438
  "IP_ADDRESS_MISMATCH": "IP adresleri eşleşmiyor",
439
+ "INVALID_SALT": "Geçersiz salt",
439
440
  "INVALID_TOKEN": "Geçersiz belirteç",
440
441
  "INVALID_SOLUTION": "Geçersiz çözüm",
441
442
  "DECRYPTION_ERROR": "Şifreleme hatası"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "No captcha found",
437
437
  "NO_SESSION_FOUND": "No session found",
438
438
  "IP_ADDRESS_MISMATCH": "IP address mismatch detected",
439
+ "INVALID_SALT": "Недійсна сіль",
439
440
  "INVALID_TOKEN": "Invalid token",
440
441
  "INVALID_SOLUTION": "Invalid solution",
441
442
  "DECRYPTION_ERROR": "Error decrypting"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Không tìm thấy CAPTCHA",
437
437
  "NO_SESSION_FOUND": "Không tìm thấy phiên",
438
438
  "IP_ADDRESS_MISMATCH": "Phát hiện không khớp địa chỉ IP",
439
+ "INVALID_SALT": "Salt không hợp lệ",
439
440
  "INVALID_TOKEN": "Token không hợp lệ",
440
441
  "INVALID_SOLUTION": "Giải pháp không hợp lệ",
441
442
  "DECRYPTION_ERROR": "Lỗi giải mã"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "找不到验证码",
437
437
  "NO_SESSION_FOUND": "找不到会话",
438
438
  "IP_ADDRESS_MISMATCH": "检测到 IP 地址不匹配",
439
+ "INVALID_SALT": "盐值无效",
439
440
  "INVALID_TOKEN": "无效的令牌",
440
441
  "INVALID_SOLUTION": "无效的解决方案",
441
442
  "DECRYPTION_ERROR": "解密错误"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/locale",
3
- "version": "3.2.4",
3
+ "version": "3.2.6",
4
4
  "description": "Prosopo locale library",
5
5
  "type": "module",
6
6
  "engines": {
@@ -35,7 +35,7 @@
35
35
  "i18next": "24.2.2",
36
36
  "i18next-browser-languagedetector": "8.0.2",
37
37
  "i18next-chained-backend": "4.6.2",
38
- "i18next-fs-backend": "2.6.0",
38
+ "i18next-fs-backend": "2.6.6",
39
39
  "i18next-http-backend": "3.0.2",
40
40
  "i18next-http-middleware": "3.7.4",
41
41
  "i18next-resources-to-backend": "1.2.1",
@@ -43,7 +43,7 @@
43
43
  "zod": "3.23.8"
44
44
  },
45
45
  "devDependencies": {
46
- "@prosopo/config": "3.3.1",
46
+ "@prosopo/config": "3.3.4",
47
47
  "@types/node": "22.10.2",
48
48
  "@vitest/coverage-v8": "3.2.4",
49
49
  "concurrently": "9.0.1",
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "لم يتم العثور على captcha",
437
437
  "NO_SESSION_FOUND": "لم يتم العثور على جلسة",
438
438
  "IP_ADDRESS_MISMATCH": "عناوين IP غير متطابقة",
439
+ "INVALID_SALT": "ملح غير صالح",
439
440
  "INVALID_TOKEN": "الرمز غير صالح",
440
441
  "INVALID_SOLUTION": "الحل غير صالح",
441
442
  "DECRYPTION_ERROR": "خطأ في فك التشفير"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Captcha tapılmadı",
437
437
  "NO_SESSION_FOUND": "Seans tapılmadı",
438
438
  "IP_ADDRESS_MISMATCH": "IP ünvanları uyğun gəlmir",
439
+ "INVALID_SALT": "Yanlış duz",
439
440
  "INVALID_TOKEN": "Yanlış token",
440
441
  "INVALID_SOLUTION": "Yanlış həll",
441
442
  "DECRYPTION_ERROR": "Şifrəni çözərkən səhv"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "CAPTCHA nenalezena",
437
437
  "NO_SESSION_FOUND": "Žádná relace nenalezena",
438
438
  "IP_ADDRESS_MISMATCH": "IP adresy se neshodují",
439
+ "INVALID_SALT": "Neplatný salt",
439
440
  "INVALID_TOKEN": "Neplatný token",
440
441
  "INVALID_SOLUTION": "Neplatné řešení",
441
442
  "DECRYPTION_ERROR": "Chyba dešifrování"
@@ -137,6 +137,7 @@
137
137
  "NO_CAPTCHA": "Kein Captcha gefunden",
138
138
  "NO_SESSION_FOUND": "Keine Session gefunden",
139
139
  "IP_ADDRESS_MISMATCH": "IP-Adresse stimmt nicht überein",
140
+ "INVALID_SALT": "Ungültiges Salt",
140
141
  "INVALID_TOKEN": "Ungültiges Token",
141
142
  "INVALID_SOLUTION": "Ungültige Lösung",
142
143
  "DECRYPTION_ERROR": "Fehler beim Entschlüsseln"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Δε βρέθηκε captcha",
437
437
  "NO_SESSION_FOUND": "Δε βρέθηκε συνεδρία",
438
438
  "IP_ADDRESS_MISMATCH": "Οι διευθύνσεις IP δεν ταιριάζουν",
439
+ "INVALID_SALT": "Μη έγκυρο salt",
439
440
  "INVALID_TOKEN": "Μη έγκυρο τεκμήριο",
440
441
  "INVALID_SOLUTION": "Μη έγκυρη λύση",
441
442
  "DECRYPTION_ERROR": "Σφάλμα αποκρυπτογράφησης"
@@ -86,6 +86,7 @@
86
86
  "NO_CAPTCHA": "No captcha found",
87
87
  "NO_SESSION_FOUND": "No session found",
88
88
  "IP_ADDRESS_MISMATCH": "IP address mismatch detected",
89
+ "INVALID_SALT": "Invalid salt",
89
90
  "INVALID_TOKEN": "Invalid token",
90
91
  "INVALID_SOLUTION": "Invalid solution",
91
92
  "DECRYPTION_ERROR": "Error decrypting"
@@ -137,6 +137,7 @@
137
137
  "NO_CAPTCHA": "No se encontró captcha",
138
138
  "NO_SESSION_FOUND": "No se encontró ninguna sesión",
139
139
  "IP_ADDRESS_MISMATCH": "Las direcciones IP no coinciden",
140
+ "INVALID_SALT": "Salt no válido",
140
141
  "INVALID_TOKEN": "Token inválido",
141
142
  "INVALID_SOLUTION": "Solución inválida",
142
143
  "DECRYPTION_ERROR": "Error de descifrado"
@@ -8,6 +8,7 @@
8
8
  "NO_CAPTCHA": "Ei löytynyt captchaa",
9
9
  "NO_SESSION_FOUND": "Ei löytynyt istuntoa",
10
10
  "IP_ADDRESS_MISMATCH": "IP-osoitteet eivät täsmää",
11
+ "INVALID_SALT": "Virheellinen suola",
11
12
  "INVALID_TOKEN": "Virheellinen tunniste",
12
13
  "INVALID_SOLUTION": "Virheellinen ratkaisu",
13
14
  "DECRYPTION_ERROR": "Virhe salauksessa",
@@ -137,6 +137,7 @@
137
137
  "NO_CAPTCHA": "Aucun captcha trouvé",
138
138
  "NO_SESSION_FOUND": "Aucune session trouvée",
139
139
  "IP_ADDRESS_MISMATCH": "Les adresses IP ne correspondent pas",
140
+ "INVALID_SALT": "Sel invalide",
140
141
  "INVALID_TOKEN": "Jeton invalide",
141
142
  "INVALID_SOLUTION": "Solution invalide",
142
143
  "DECRYPTION_ERROR": "Erreur de décryptage"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "कई कपच नह मल",
437
437
  "NO_SESSION_FOUND": "कई सतर नह मल",
438
438
  "IP_ADDRESS_MISMATCH": "IP पते मेल नहीं खाते",
439
+ "INVALID_SALT": "अमान्य सॉल्ट",
439
440
  "INVALID_TOKEN": "अमनय टकन",
440
441
  "INVALID_SOLUTION": "अमनय समधन",
441
442
  "DECRYPTION_ERROR": "डकरपशन तरट"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "Nincs captcha található",
437
437
  "NO_SESSION_FOUND": "Nincs található munkamenet",
438
438
  "IP_ADDRESS_MISMATCH": "Az IP címek nem egyeznek",
439
+ "INVALID_SALT": "Érvénytelen só",
439
440
  "INVALID_TOKEN": "Érvénytelen token",
440
441
  "INVALID_SOLUTION": "Érvénytelen megoldás",
441
442
  "DECRYPTION_ERROR": "Hiba a titkosítás közben"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "No captcha found",
437
437
  "NO_SESSION_FOUND": "No session found",
438
438
  "IP_ADDRESS_MISMATCH": "Alamat IP tidak cocok",
439
+ "INVALID_SALT": "Salt tidak valid",
439
440
  "INVALID_TOKEN": "Invalid token",
440
441
  "INVALID_SOLUTION": "Invalid solution",
441
442
  "DECRYPTION_ERROR": "Error decrypting"
@@ -137,6 +137,7 @@
137
137
  "NO_CAPTCHA": "Nessun captcha trovato",
138
138
  "NO_SESSION_FOUND": "Nessuna sessione trovata",
139
139
  "IP_ADDRESS_MISMATCH": "Gli indirizzi IP non corrispondono",
140
+ "INVALID_SALT": "Salt non valido",
140
141
  "INVALID_TOKEN": "Token non valido",
141
142
  "INVALID_SOLUTION": "Soluzione non valida",
142
143
  "DECRYPTION_ERROR": "Errore di decodifica"
@@ -436,6 +436,7 @@
436
436
  "NO_CAPTCHA": "キャプチャが見つかりません",
437
437
  "NO_SESSION_FOUND": "セッションが見つかりません",
438
438
  "IP_ADDRESS_MISMATCH": "IPアドレスが一致しません",
439
+ "INVALID_SALT": "無効なソルト",
439
440
  "INVALID_TOKEN": "無効なトークン",
440
441
  "INVALID_SOLUTION": "無効なソリューション",
441
442
  "DECRYPTION_ERROR": "復号エラー"