@prosopo/locale 3.2.7 → 3.2.9

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 (101) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +20 -20
  2. package/.turbo/turbo-build$colon$tsc.log +5 -5
  3. package/.turbo/turbo-build.log +27 -24
  4. package/CHANGELOG.md +18 -0
  5. package/dist/_virtual/_rolldown/runtime.js +3 -0
  6. package/dist/cjs/_virtual/_rolldown/runtime.cjs +23 -0
  7. package/dist/cjs/i18SharedOptions.cjs +8 -10
  8. package/dist/cjs/i18nBackend.cjs +29 -29
  9. package/dist/cjs/i18nFrontend.cjs +54 -61
  10. package/dist/cjs/i18nMiddleware.cjs +7 -6
  11. package/dist/cjs/index.cjs +13 -14
  12. package/dist/cjs/loadI18next.cjs +23 -33
  13. package/dist/cjs/locales/en/translation.cjs +488 -0
  14. package/dist/cjs/translationKey.cjs +14 -22
  15. package/dist/cjs/translations.cjs +39 -39
  16. package/dist/cjs/useTranslation.cjs +10 -6
  17. package/dist/cjs/util.cjs +6 -6
  18. package/dist/i18SharedOptions.js +9 -11
  19. package/dist/i18nBackend.js +25 -28
  20. package/dist/i18nFrontend.js +45 -57
  21. package/dist/i18nMiddleware.d.ts +2 -1
  22. package/dist/i18nMiddleware.d.ts.map +1 -1
  23. package/dist/i18nMiddleware.js +5 -6
  24. package/dist/i18nMiddleware.js.map +1 -1
  25. package/dist/index.js +5 -12
  26. package/dist/loadI18next.js +23 -34
  27. package/dist/locales/ar/translation.json +1 -0
  28. package/dist/locales/az/translation.json +1 -0
  29. package/dist/locales/cs/translation.json +1 -0
  30. package/dist/locales/de/translation.json +1 -0
  31. package/dist/locales/el/translation.json +1 -0
  32. package/dist/locales/en/translation.js +474 -0
  33. package/dist/locales/en/translation.json +1 -0
  34. package/dist/locales/es/translation.json +1 -0
  35. package/dist/locales/fi/translation.json +1 -0
  36. package/dist/locales/fr/translation.json +1 -0
  37. package/dist/locales/hi/translation.json +1 -0
  38. package/dist/locales/hu/translation.json +1 -0
  39. package/dist/locales/id/translation.json +1 -0
  40. package/dist/locales/it/translation.json +1 -0
  41. package/dist/locales/ja/translation.json +1 -0
  42. package/dist/locales/jv/translation.json +1 -0
  43. package/dist/locales/ko/translation.json +1 -0
  44. package/dist/locales/ml/translation.json +1 -0
  45. package/dist/locales/ms/translation.json +1 -0
  46. package/dist/locales/nl/translation.json +1 -0
  47. package/dist/locales/no/translation.json +1 -0
  48. package/dist/locales/pl/translation.json +1 -0
  49. package/dist/locales/pt/translation.json +1 -0
  50. package/dist/locales/pt-BR/translation.json +1 -0
  51. package/dist/locales/ro/translation.json +1 -0
  52. package/dist/locales/ru/translation.json +1 -0
  53. package/dist/locales/sr/translation.json +1 -0
  54. package/dist/locales/sv/translation.json +1 -0
  55. package/dist/locales/th/translation.json +1 -0
  56. package/dist/locales/tr/translation.json +1 -0
  57. package/dist/locales/uk/translation.json +1 -0
  58. package/dist/locales/vi/translation.json +1 -0
  59. package/dist/locales/zh-CN/translation.json +1 -0
  60. package/dist/translationKey.js +15 -23
  61. package/dist/translations.js +37 -40
  62. package/dist/useTranslation.js +10 -8
  63. package/dist/util.js +7 -8
  64. package/package.json +6 -6
  65. package/src/i18nMiddleware.ts +6 -1
  66. package/src/locales/ar/translation.json +1 -0
  67. package/src/locales/az/translation.json +1 -0
  68. package/src/locales/cs/translation.json +1 -0
  69. package/src/locales/de/translation.json +1 -0
  70. package/src/locales/el/translation.json +1 -0
  71. package/src/locales/en/translation.json +1 -0
  72. package/src/locales/es/translation.json +1 -0
  73. package/src/locales/fi/translation.json +1 -0
  74. package/src/locales/fr/translation.json +1 -0
  75. package/src/locales/hi/translation.json +1 -0
  76. package/src/locales/hu/translation.json +1 -0
  77. package/src/locales/id/translation.json +1 -0
  78. package/src/locales/it/translation.json +1 -0
  79. package/src/locales/ja/translation.json +1 -0
  80. package/src/locales/jv/translation.json +1 -0
  81. package/src/locales/ko/translation.json +1 -0
  82. package/src/locales/ml/translation.json +1 -0
  83. package/src/locales/ms/translation.json +1 -0
  84. package/src/locales/nl/translation.json +1 -0
  85. package/src/locales/no/translation.json +1 -0
  86. package/src/locales/pl/translation.json +1 -0
  87. package/src/locales/pt/translation.json +1 -0
  88. package/src/locales/pt-BR/translation.json +1 -0
  89. package/src/locales/ro/translation.json +1 -0
  90. package/src/locales/ru/translation.json +1 -0
  91. package/src/locales/sr/translation.json +1 -0
  92. package/src/locales/sv/translation.json +1 -0
  93. package/src/locales/th/translation.json +1 -0
  94. package/src/locales/tr/translation.json +1 -0
  95. package/src/locales/uk/translation.json +1 -0
  96. package/src/locales/vi/translation.json +1 -0
  97. package/src/locales/zh-CN/translation.json +1 -0
  98. package/tsconfig.tsbuildinfo +1 -1
  99. package/.turbo/turbo-typecheck.log +0 -4
  100. package/dist/cjs/locales/en/translation.json.cjs +0 -47
  101. package/dist/locales/en/translation.json.js +0 -47
@@ -1,31 +1,31 @@
1
1
 
2
- > @prosopo/locale@3.2.7 build:cjs
2
+ > @prosopo/locale@3.2.9 build:cjs
3
3
  > NODE_ENV=${NODE_ENV:-development}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
4
4
 
5
5
  ViteCommonJSConfig: .
6
6
  { tsConfigPaths: [] }
7
+ The plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the resolve.tsconfigPaths option. You can remove the plugin and set resolve.tsconfigPaths: true in your Vite config instead.
7
8
  { externals: [] }
8
- vite v6.4.1 building SSR bundle for production...
9
+ vite v8.1.5 building ssr environment for production...
9
10
  Bundle build started
10
- transforming...
11
- Build end
12
- ✓ 11 modules transformed.
13
- Entry 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.
14
- Entry 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.
15
- Entry 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.
11
+ 
12
+ ✓ 12 modules transformed.
16
13
  rendering chunks...
17
- dist/cjs/useTranslation.cjs  0.30 kB
18
- dist/cjs/i18nMiddleware.cjs  0.31 kB
19
- dist/cjs/util.cjs  0.35 kB
20
- dist/cjs/i18SharedOptions.cjs  0.51 kB
21
- dist/cjs/index.cjs  0.72 kB
22
- dist/cjs/translationKey.cjs  0.73 kB
23
- dist/cjs/translations.cjs  0.83 kB
24
- dist/cjs/loadI18next.cjs  1.08 kB
25
- dist/cjs/i18nBackend.cjs  1.41 kB
26
- dist/cjs/i18nFrontend.cjs  3.25 kB
27
- dist/cjs/locales/en/translation.json.cjs 15.40 kB
28
- ✓ built in 216ms
14
+ computing gzip size...
15
+ dist/cjs/util.cjs 0.28 kB │ gzip: 0.17 kB
16
+ dist/cjs/useTranslation.cjs 0.35 kB │ gzip: 0.20 kB
17
+ dist/cjs/i18nMiddleware.cjs 0.36 kB │ gzip: 0.21 kB
18
+ dist/cjs/i18SharedOptions.cjs 0.42 kB │ gzip: 0.27 kB
19
+ dist/cjs/translationKey.cjs 0.64 kB │ gzip: 0.36 kB
20
+ dist/cjs/index.cjs 0.83 kB │ gzip: 0.27 kB
21
+ dist/cjs/translations.cjs 0.86 kB │ gzip: 0.46 kB
22
+ dist/cjs/loadI18next.cjs 0.90 kB │ gzip: 0.37 kB
23
+ dist/cjs/_virtual/_rolldown/runtime.cjs 1.00 kB │ gzip: 0.50 kB
24
+ dist/cjs/i18nBackend.cjs 1.36 kB │ gzip: 0.58 kB
25
+ dist/cjs/i18nFrontend.cjs 2.35 kB │ gzip: 0.84 kB
26
+ dist/cjs/locales/en/translation.cjs 15.80 kB │ gzip: 5.62 kB
27
+
28
+ ✓ built in 90ms
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.7 build:tsc
2
+ > @prosopo/locale@3.2.9 build:tsc
3
3
  > tsc --build --verbose
4
4
 
5
- 4:34:49 PM - Projects in this build:
5
+ 1:56:36 PM - Projects in this build:
6
6
  * ../../dev/config/tsconfig.json
7
7
  * tsconfig.json
8
8
 
9
- 4:34:49 PM - Project '../../dev/config/tsconfig.json' is up to date because newest input '../../dev/config/src/index.ts' is older than output '../../dev/config/tsconfig.tsbuildinfo'
9
+ 1:56:36 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
- 4:34:49 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
11
+ 1:56:36 PM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
12
12
 
13
- 4:34:49 PM - Building project '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json'...
13
+ 1:56:36 PM - Building project '/home/runner/work/captcha/captcha/packages/locale/tsconfig.json'...
14
14
 
@@ -1,38 +1,41 @@
1
1
 
2
- > @prosopo/locale@3.2.7 build
2
+ > @prosopo/locale@3.2.9 build
3
3
  > npm run build:cross-env -- --mode ${NODE_ENV:-development}
4
4
 
5
5
 
6
- > @prosopo/locale@3.2.7 build:cross-env
6
+ > @prosopo/locale@3.2.9 build:cross-env
7
7
  > vite build --config vite.esm.config.ts --mode production
8
8
 
9
9
  ViteEsmConfig: .
10
10
  { tsConfigPaths: [] }
11
11
  { externals: [] }
12
- vite v6.4.1 building SSR bundle for production...
12
+ The plugin "vite-tsconfig-paths" is detected. Vite now supports tsconfig paths resolution natively via the resolve.tsconfigPaths option. You can remove the plugin and set resolve.tsconfigPaths: true in your Vite config instead.
13
+ vite v8.1.5 building ssr environment for production...
13
14
  Bundle build started
14
- transforming...
15
- Build end
16
- ✓ 11 modules transformed.
15
+ 
16
+ ✓ 12 modules transformed.
17
17
  rendering chunks...
18
- dist/util.js  0.23 kB
19
- dist/i18nMiddleware.js  0.26 kB
20
- dist/useTranslation.js  0.29 kB
21
- dist/i18SharedOptions.js  0.39 kB
22
- dist/index.js  0.51 kB
23
- dist/translationKey.js  0.61 kB
24
- dist/translations.js  0.71 kB
25
- dist/i18nBackend.js  0.88 kB
26
- dist/loadI18next.js  1.01 kB
27
- dist/i18nFrontend.js  2.49 kB
28
- dist/locales/en/translation.json.js 15.07 kB
29
- ✓ built in 198ms
18
+ computing gzip size...
19
+ dist/_virtual/_rolldown/runtime.js 0.04 kB │ gzip: 0.06 kB
20
+ dist/util.js 0.25 kB │ gzip: 0.16 kB
21
+ dist/i18nMiddleware.js 0.27 kB │ gzip: 0.18 kB
22
+ dist/useTranslation.js 0.30 kB │ gzip: 0.19 kB
23
+ dist/i18SharedOptions.js 0.37 kB │ gzip: 0.26 kB
24
+ dist/index.js 0.47 kB │ gzip: 0.20 kB
25
+ dist/translationKey.js 0.61 kB │ gzip: 0.36 kB
26
+ dist/translations.js 0.70 kB │ gzip: 0.39 kB
27
+ dist/loadI18next.js 0.84 kB │ gzip: 0.36 kB
28
+ dist/i18nBackend.js 0.91 kB │ gzip: 0.49 kB
29
+ dist/i18nFrontend.js 1.65 kB │ gzip: 0.74 kB
30
+ dist/locales/en/translation.js 15.56 kB │ gzip: 5.59 kB
31
+
32
+ ✓ built in 80ms
30
33
  [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
34
  [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
35
  [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
- [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
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
35
37
  [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
38
+ [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
36
39
  [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
37
40
  [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
41
  [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
@@ -40,18 +43,18 @@ rendering chunks...
40
43
  [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
41
44
  [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
42
45
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/it/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/it/translation.json
43
- [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/ja/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/ja/translation.json
44
46
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/jv/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/jv/translation.json
47
+ [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/ja/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/ja/translation.json
45
48
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/ko/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/ko/translation.json
46
49
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/ml/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/ml/translation.json
47
- [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/ms/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/ms/translation.json
48
50
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/nl/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/nl/translation.json
51
+ [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/ms/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/ms/translation.json
49
52
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/no/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/no/translation.json
50
53
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/pl/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/pl/translation.json
51
- [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/pt/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/pt/translation.json
52
- [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/pt-BR/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/pt-BR/translation.json
53
54
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/ro/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/ro/translation.json
55
+ [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/pt/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/pt/translation.json
54
56
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/ru/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/ru/translation.json
57
+ [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/pt-BR/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/pt-BR/translation.json
55
58
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/sr/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/sr/translation.json
56
59
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/sv/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/sv/translation.json
57
60
  [copy-plugin] copying /home/runner/work/captcha/captcha/packages/locale/src/locales/th/translation.json to /home/runner/work/captcha/captcha/packages/locale/dist/locales/th/translation.json
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @prosopo/locale
2
2
 
3
+ ## 3.2.9
4
+ ### Patch Changes
5
+
6
+ - bcef918: Adds a per-email submission-count rate limit on the verify pipeline. Site operators can now cap how many server-checked captcha submissions any one normalised email (Gmail dot / `+tag` tricks collapsed across providers) may back before further submissions from that address are rejected with `API.SPAM_EMAIL_COUNT_EXCEEDED`.
7
+
8
+ - New `spamFilter.emailRules.maxEmailSubmissionCount` (int, min 1, optional) on `ClientSettingsSchema`.
9
+ - New `metadata.emailNormalised` field on all three captcha records (image / PoW / puzzle) — written alongside `metadata.email` whenever `storeMetadata` is on. Backed by a partial index (`spamEmailCount_partial`) on each collection.
10
+ - New DB method `countCommitmentsByNormalisedEmail(dappAccount, emailNormalised)` sums the three per-collection counts so limits span captcha types.
11
+ - Puzzle verify gains a `spamFilter` parameter to bring it to parity with img/pow for the count check.
12
+ - English + all 31 non-English locales gain the `API.SPAM_EMAIL_COUNT_EXCEEDED` translation.
13
+ - Fixes silent-drift bug: `UserSettingsSchema.spamFilter.emailRules` was missing `maxEmailSubmissionCount` on the mongoose side, which strict mode would have dropped on `$set`.
14
+
15
+ ## 3.2.8
16
+ ### Patch Changes
17
+
18
+ - 0e1171c: chore(deps): combined dependabot bumps (lodash, webpack-dev-server, sharp, i18next-http-middleware, actions/setup-node and transitive security updates)
19
+ - e14fce6: chore(deps): bump vite to 6.4.3 and mongoose to 8.24.1, and adjust types for the mongoose 8.24 Document/ObjectId changes
20
+
3
21
  ## 3.2.7
4
22
  ### Patch Changes
5
23
 
@@ -0,0 +1,3 @@
1
+ import "node:module";
2
+ //#endregion
3
+ export {};
@@ -0,0 +1,23 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
+ key = keys[i];
11
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
+ get: ((k) => from[k]).bind(null, key),
13
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
+ });
15
+ }
16
+ return to;
17
+ };
18
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
+ value: mod,
20
+ enumerable: true
21
+ }) : target, mod));
22
+ //#endregion
23
+ exports.__toESM = __toESM;
@@ -1,12 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const translations = require("./translations.cjs");
4
- const logLevel = typeof process !== "undefined" ? process.env?.PROSOPO_LOG_LEVEL : void 0;
5
- const i18nSharedOptions = {
6
- debug: logLevel === "debug",
7
- fallbackLng: translations.LanguageSchema.enum.en,
8
- namespace: "translation",
9
- supportedLngs: Object.values(translations.Languages),
10
- nonExplicitSupportedLngs: false
1
+ const require_translations = require("./translations.cjs");
2
+ var i18nSharedOptions = {
3
+ debug: (typeof process !== "undefined" ? process.env?.PROSOPO_LOG_LEVEL : void 0) === "debug",
4
+ fallbackLng: require_translations.LanguageSchema.enum.en,
5
+ namespace: "translation",
6
+ supportedLngs: Object.values(require_translations.Languages),
7
+ nonExplicitSupportedLngs: false
11
8
  };
9
+ //#endregion
12
10
  exports.i18nSharedOptions = i18nSharedOptions;
@@ -1,33 +1,33 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const path = require("node:path");
4
- const i18n = require("i18next");
5
- const FSBackend = require("i18next-fs-backend/cjs");
6
- const i18nextHttpMiddleware = require("i18next-http-middleware");
7
- const i18SharedOptions = require("./i18SharedOptions.cjs");
8
- const util = require("./util.cjs");
9
- var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
10
- const loadPath = `${path.dirname(typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("i18nBackend.cjs", document.baseURI).href)}/locales/{{lng}}/{{ns}}.json`.replace(
11
- "file://",
12
- ""
13
- );
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
2
+ const require_util = require("./util.cjs");
3
+ const require_i18SharedOptions = require("./i18SharedOptions.cjs");
4
+ let i18next_http_middleware = require("i18next-http-middleware");
5
+ let i18next = require("i18next");
6
+ i18next = require_runtime.__toESM(i18next, 1);
7
+ let node_path = require("node:path");
8
+ node_path = require_runtime.__toESM(node_path, 1);
9
+ let i18next_fs_backend_cjs = require("i18next-fs-backend/cjs");
10
+ i18next_fs_backend_cjs = require_runtime.__toESM(i18next_fs_backend_cjs, 1);
11
+ //#region src/i18nBackend.ts
12
+ var loadPath = `${node_path.default.dirname(require("url").pathToFileURL(__filename).href)}/locales/{{lng}}/{{ns}}.json`.replace("file://", "");
14
13
  function initializeI18n(i18nLoadedCallback) {
15
- if (!i18n.isInitialized && util.isServerSide()) {
16
- const lngDetector = new i18nextHttpMiddleware.LanguageDetector(null, {
17
- order: ["header", "query", "cookie"]
18
- });
19
- i18n.use(FSBackend).use(lngDetector).init({
20
- ...i18SharedOptions.i18nSharedOptions,
21
- ns: ["translation"],
22
- backend: {
23
- loadPath
24
- }
25
- });
26
- i18n.on("loaded", () => {
27
- i18nLoadedCallback?.(i18n);
28
- });
29
- }
30
- return i18n;
14
+ if (!i18next.default.isInitialized && require_util.isServerSide()) {
15
+ const lngDetector = new i18next_http_middleware.LanguageDetector(null, { order: [
16
+ "header",
17
+ "query",
18
+ "cookie"
19
+ ] });
20
+ i18next.default.use(i18next_fs_backend_cjs.default).use(lngDetector).init({
21
+ ...require_i18SharedOptions.i18nSharedOptions,
22
+ ns: ["translation"],
23
+ backend: { loadPath }
24
+ });
25
+ i18next.default.on("loaded", () => {
26
+ i18nLoadedCallback?.(i18next.default);
27
+ });
28
+ }
29
+ return i18next.default;
31
30
  }
31
+ //#endregion
32
32
  exports.default = initializeI18n;
33
33
  exports.initializeI18n = initializeI18n;
@@ -1,67 +1,60 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const i18n = require("i18next");
4
- const I18nextBrowserLanguageDetector = require("i18next-browser-languagedetector");
5
- const ChainedBackend = require("i18next-chained-backend");
6
- const HttpBackend = require("i18next-http-backend");
7
- const resourcesToBackend = require("i18next-resources-to-backend");
8
- const reactI18next = require("react-i18next");
9
- const i18SharedOptions = require("./i18SharedOptions.cjs");
10
- var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
11
- const reactOptions = {
12
- react: {
13
- useSuspense: true
14
- },
15
- detection: {
16
- order: ["navigator", "htmlTag", "path", "subdomain"],
17
- caches: ["localStorage", "cookie"]
18
- }
1
+ const require_runtime = require("./_virtual/_rolldown/runtime.cjs");
2
+ const require_i18SharedOptions = require("./i18SharedOptions.cjs");
3
+ let react_i18next = require("react-i18next");
4
+ let i18next = require("i18next");
5
+ i18next = require_runtime.__toESM(i18next, 1);
6
+ let i18next_browser_languagedetector = require("i18next-browser-languagedetector");
7
+ i18next_browser_languagedetector = require_runtime.__toESM(i18next_browser_languagedetector, 1);
8
+ let i18next_chained_backend = require("i18next-chained-backend");
9
+ i18next_chained_backend = require_runtime.__toESM(i18next_chained_backend, 1);
10
+ let i18next_http_backend = require("i18next-http-backend");
11
+ i18next_http_backend = require_runtime.__toESM(i18next_http_backend, 1);
12
+ let i18next_resources_to_backend = require("i18next-resources-to-backend");
13
+ i18next_resources_to_backend = require_runtime.__toESM(i18next_resources_to_backend, 1);
14
+ //#region src/i18nFrontend.ts
15
+ var reactOptions = {
16
+ react: { useSuspense: true },
17
+ detection: {
18
+ order: [
19
+ "navigator",
20
+ "htmlTag",
21
+ "path",
22
+ "subdomain"
23
+ ],
24
+ caches: ["localStorage", "cookie"]
25
+ }
19
26
  };
20
- const getLoadPath = (language, namespace) => {
21
- const filename = (typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("i18nFrontend.cjs", document.baseURI).href).split("/").pop();
22
- return `${(typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("i18nFrontend.cjs", document.baseURI).href).replace(`/${filename}`, "")}/locales/${language}/${namespace}.json`;
27
+ var getLoadPath = (language, namespace) => {
28
+ const filename = require("url").pathToFileURL(__filename).href.split("/").pop();
29
+ return `${require("url").pathToFileURL(__filename).href.replace(`/${filename}`, "")}/locales/${language}/${namespace}.json`;
23
30
  };
24
31
  function initializeI18n(i18nLoadedCallback, lng) {
25
- if (!i18n.isInitialized) {
26
- i18n.use(ChainedBackend).use(
27
- new I18nextBrowserLanguageDetector(null, {
28
- order: ["cookie", "localStorage", "navigator"],
29
- lookupQuerystring: "lng",
30
- lookupCookie: "i18next",
31
- lookupLocalStorage: "i18nextLng",
32
- caches: ["localStorage", "cookie"]
33
- })
34
- ).use(reactI18next.initReactI18next).init({
35
- ...i18SharedOptions.i18nSharedOptions,
36
- // When the site owner has resolved a language upfront (via widget
37
- // config or data-language) we set `lng` explicitly so i18next skips
38
- // browser detection. This is the single source of truth for the
39
- // widget language and prevents the flash-of-wrong-language race
40
- // where child components read the browser-detected language on
41
- // first render before an effect can call changeLanguage().
42
- ...lng ? { lng } : {},
43
- backend: {
44
- backends: [
45
- HttpBackend,
46
- // if a namespace can't be loaded via normal http-backend loadPath, then the inMemoryLocalBackend will try to return the correct resources
47
- // with dynamic import, you have to use the "default" key of the module ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#importing_defaults )
48
- resourcesToBackend(
49
- (language, namespace) => import(getLoadPath(language, namespace))
50
- )
51
- ],
52
- backendOptions: [
53
- {
54
- loadPath: getLoadPath("{{lng}}", "{{ns}}")
55
- }
56
- ]
57
- },
58
- ...reactOptions
59
- });
60
- i18n.on("loaded", () => {
61
- i18nLoadedCallback?.(i18n);
62
- });
63
- }
64
- return i18n;
32
+ if (!i18next.default.isInitialized) {
33
+ i18next.default.use(i18next_chained_backend.default).use(new i18next_browser_languagedetector.default(null, {
34
+ order: [
35
+ "cookie",
36
+ "localStorage",
37
+ "navigator"
38
+ ],
39
+ lookupQuerystring: "lng",
40
+ lookupCookie: "i18next",
41
+ lookupLocalStorage: "i18nextLng",
42
+ caches: ["localStorage", "cookie"]
43
+ })).use(react_i18next.initReactI18next).init({
44
+ ...require_i18SharedOptions.i18nSharedOptions,
45
+ ...lng ? { lng } : {},
46
+ backend: {
47
+ backends: [i18next_http_backend.default, (0, i18next_resources_to_backend.default)((language, namespace) => import(getLoadPath(language, namespace)))],
48
+ backendOptions: [{ loadPath: getLoadPath("{{lng}}", "{{ns}}") }]
49
+ },
50
+ ...reactOptions
51
+ });
52
+ i18next.default.on("loaded", () => {
53
+ i18nLoadedCallback?.(i18next.default);
54
+ });
55
+ }
56
+ return i18next.default;
65
57
  }
58
+ //#endregion
66
59
  exports.default = initializeI18n;
67
60
  exports.initializeI18n = initializeI18n;
@@ -1,8 +1,9 @@
1
- "use strict";
2
- const i18nextHttpMiddleware = require("i18next-http-middleware");
3
- const loadI18next = require("./loadI18next.cjs");
1
+ const require_loadI18next = require("./loadI18next.cjs");
2
+ let i18next_http_middleware = require("i18next-http-middleware");
3
+ //#region src/i18nMiddleware.ts
4
4
  async function i18nMiddleware(options) {
5
- const i18n = await loadI18next(true);
6
- return i18nextHttpMiddleware.handle(i18n, { ...options });
5
+ const i18n = await require_loadI18next.default(true);
6
+ return (0, i18next_http_middleware.handle)(i18n, { ...options });
7
7
  }
8
- module.exports = i18nMiddleware;
8
+ //#endregion
9
+ exports.default = i18nMiddleware;
@@ -1,15 +1,14 @@
1
- "use strict";
2
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const i18nMiddleware = require("./i18nMiddleware.cjs");
4
- const loadI18next = require("./loadI18next.cjs");
5
- const translations = require("./translations.cjs");
6
- const util = require("./util.cjs");
7
- const translationKey = require("./translationKey.cjs");
8
- const useTranslation = require("./useTranslation.cjs");
9
- exports.i18nMiddleware = i18nMiddleware;
10
- exports.loadI18next = loadI18next;
11
- exports.LanguageSchema = translations.LanguageSchema;
12
- exports.Languages = translations.Languages;
13
- exports.isClientSide = util.isClientSide;
14
- exports.TranslationKeysSchema = translationKey.TranslationKeysSchema;
15
- exports.useTranslation = useTranslation;
2
+ const require_loadI18next = require("./loadI18next.cjs");
3
+ const require_i18nMiddleware = require("./i18nMiddleware.cjs");
4
+ const require_translations = require("./translations.cjs");
5
+ const require_util = require("./util.cjs");
6
+ const require_translationKey = require("./translationKey.cjs");
7
+ const require_useTranslation = require("./useTranslation.cjs");
8
+ exports.LanguageSchema = require_translations.LanguageSchema;
9
+ exports.Languages = require_translations.Languages;
10
+ exports.TranslationKeysSchema = require_translationKey.TranslationKeysSchema;
11
+ exports.i18nMiddleware = require_i18nMiddleware.default;
12
+ exports.isClientSide = require_util.isClientSide;
13
+ exports.loadI18next = require_loadI18next.default;
14
+ exports.useTranslation = require_useTranslation.default;
@@ -1,36 +1,26 @@
1
- "use strict";
2
- let i18nInstance;
3
- const reconcileLanguage = async (instance, lng) => {
4
- if (lng && instance.language !== lng) {
5
- await instance.changeLanguage(lng);
6
- }
7
- return instance;
1
+ //#region src/loadI18next.ts
2
+ var i18nInstance;
3
+ var reconcileLanguage = async (instance, lng) => {
4
+ if (lng && instance.language !== lng) await instance.changeLanguage(lng);
5
+ return instance;
8
6
  };
9
7
  async function loadI18next(backend, lng) {
10
- return new Promise((resolve, reject) => {
11
- try {
12
- if (backend) {
13
- Promise.resolve().then(() => require("./i18nBackend.cjs")).then(({ default: initializeI18n }) => {
14
- if (!i18nInstance) {
15
- i18nInstance = initializeI18n(resolve);
16
- } else {
17
- resolve(i18nInstance);
18
- }
19
- });
20
- } else {
21
- Promise.resolve().then(() => require("./i18nFrontend.cjs")).then(({ default: initializeI18n }) => {
22
- if (!i18nInstance) {
23
- i18nInstance = initializeI18n((instance) => {
24
- void reconcileLanguage(instance, lng).then(resolve);
25
- }, lng);
26
- } else {
27
- void reconcileLanguage(i18nInstance, lng).then(resolve);
28
- }
29
- });
30
- }
31
- } catch (e) {
32
- reject(e);
33
- }
34
- });
8
+ return new Promise((resolve, reject) => {
9
+ try {
10
+ if (backend) Promise.resolve().then(() => require("./i18nBackend.cjs")).then(({ default: initializeI18n }) => {
11
+ if (!i18nInstance) i18nInstance = initializeI18n(resolve);
12
+ else resolve(i18nInstance);
13
+ });
14
+ else Promise.resolve().then(() => require("./i18nFrontend.cjs")).then(({ default: initializeI18n }) => {
15
+ if (!i18nInstance) i18nInstance = initializeI18n((instance) => {
16
+ reconcileLanguage(instance, lng).then(resolve);
17
+ }, lng);
18
+ else reconcileLanguage(i18nInstance, lng).then(resolve);
19
+ });
20
+ } catch (e) {
21
+ reject(e);
22
+ }
23
+ });
35
24
  }
36
- module.exports = loadI18next;
25
+ //#endregion
26
+ exports.default = loadI18next;