@oxog/vld 1.5.0 → 2.0.1

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 (279) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/README.md +558 -517
  3. package/dist/chunks/bigint-ZKkWLdmi.js +1628 -0
  4. package/dist/chunks/bigint-ZKkWLdmi.js.map +1 -0
  5. package/dist/{coercion/string.js → chunks/date-7Iz2BGsL.js} +271 -5
  6. package/dist/chunks/date-7Iz2BGsL.js.map +1 -0
  7. package/dist/chunks/index-BoV-4S1F.js +894 -0
  8. package/dist/chunks/index-BoV-4S1F.js.map +1 -0
  9. package/dist/chunks/index-eWXdjyyy.js +426 -0
  10. package/dist/chunks/index-eWXdjyyy.js.map +1 -0
  11. package/dist/chunks/json-nIhyRPOU.js +1934 -0
  12. package/dist/chunks/json-nIhyRPOU.js.map +1 -0
  13. package/dist/{validators/unknown.js → chunks/unknown-CjSRcELI.js} +6 -3
  14. package/dist/chunks/unknown-CjSRcELI.js.map +1 -0
  15. package/dist/cjs/errors.cjs +387 -0
  16. package/dist/cjs/errors.cjs.map +1 -0
  17. package/dist/cjs/index.cjs +9815 -0
  18. package/dist/cjs/index.cjs.map +1 -0
  19. package/dist/cjs/locales/index.cjs +2877 -0
  20. package/dist/cjs/locales/index.cjs.map +1 -0
  21. package/dist/cjs/locales/lazy.cjs +3169 -0
  22. package/dist/cjs/locales/lazy.cjs.map +1 -0
  23. package/dist/cjs/mini.cjs +7161 -0
  24. package/dist/cjs/mini.cjs.map +1 -0
  25. package/dist/codecs/index.js +4 -275
  26. package/dist/codecs/index.js.map +1 -1
  27. package/dist/coercion/index.d.ts +11 -0
  28. package/dist/coercion/index.d.ts.map +1 -0
  29. package/dist/coercion/{bigint.js → index.js} +7 -4
  30. package/dist/coercion/index.js.map +1 -0
  31. package/dist/compat/emitter.js +6 -4
  32. package/dist/compat/emitter.js.map +1 -1
  33. package/dist/compat/result.js +21 -19
  34. package/dist/compat/result.js.map +1 -1
  35. package/dist/errors.js +13 -10
  36. package/dist/errors.js.map +1 -1
  37. package/dist/index.js +225 -126
  38. package/dist/index.js.map +1 -1
  39. package/dist/kernel.js +10 -7
  40. package/dist/kernel.js.map +1 -1
  41. package/dist/locales/af.js +4 -2
  42. package/dist/locales/af.js.map +1 -1
  43. package/dist/locales/ar.js +4 -2
  44. package/dist/locales/ar.js.map +1 -1
  45. package/dist/locales/bn.js +4 -2
  46. package/dist/locales/bn.js.map +1 -1
  47. package/dist/locales/da.js +4 -2
  48. package/dist/locales/da.js.map +1 -1
  49. package/dist/locales/de.js +4 -2
  50. package/dist/locales/de.js.map +1 -1
  51. package/dist/locales/en.js +4 -2
  52. package/dist/locales/en.js.map +1 -1
  53. package/dist/locales/es-MX.js +4 -2
  54. package/dist/locales/es-MX.js.map +1 -1
  55. package/dist/locales/es.js +4 -2
  56. package/dist/locales/es.js.map +1 -1
  57. package/dist/locales/fi.js +4 -2
  58. package/dist/locales/fi.js.map +1 -1
  59. package/dist/locales/fr.js +4 -2
  60. package/dist/locales/fr.js.map +1 -1
  61. package/dist/locales/hi.js +4 -2
  62. package/dist/locales/hi.js.map +1 -1
  63. package/dist/locales/id.js +4 -2
  64. package/dist/locales/id.js.map +1 -1
  65. package/dist/locales/index.js +3 -91
  66. package/dist/locales/index.js.map +1 -1
  67. package/dist/locales/it.js +4 -2
  68. package/dist/locales/it.js.map +1 -1
  69. package/dist/locales/ja.js +4 -2
  70. package/dist/locales/ja.js.map +1 -1
  71. package/dist/locales/ko.js +4 -2
  72. package/dist/locales/ko.js.map +1 -1
  73. package/dist/locales/lazy.d.ts +111 -0
  74. package/dist/locales/lazy.d.ts.map +1 -0
  75. package/dist/locales/lazy.js +220 -0
  76. package/dist/locales/lazy.js.map +1 -0
  77. package/dist/locales/nl.js +4 -2
  78. package/dist/locales/nl.js.map +1 -1
  79. package/dist/locales/no.js +4 -2
  80. package/dist/locales/no.js.map +1 -1
  81. package/dist/locales/pl.js +4 -2
  82. package/dist/locales/pl.js.map +1 -1
  83. package/dist/locales/pt-BR.js +4 -2
  84. package/dist/locales/pt-BR.js.map +1 -1
  85. package/dist/locales/pt.js +4 -2
  86. package/dist/locales/pt.js.map +1 -1
  87. package/dist/locales/ru.js +4 -2
  88. package/dist/locales/ru.js.map +1 -1
  89. package/dist/locales/sv.js +4 -2
  90. package/dist/locales/sv.js.map +1 -1
  91. package/dist/locales/sw.js +4 -2
  92. package/dist/locales/sw.js.map +1 -1
  93. package/dist/locales/th.js +4 -2
  94. package/dist/locales/th.js.map +1 -1
  95. package/dist/locales/tr.js +4 -2
  96. package/dist/locales/tr.js.map +1 -1
  97. package/dist/locales/vi.js +4 -2
  98. package/dist/locales/vi.js.map +1 -1
  99. package/dist/locales/zh.js +4 -2
  100. package/dist/locales/zh.js.map +1 -1
  101. package/dist/mini.d.ts +182 -0
  102. package/dist/mini.d.ts.map +1 -0
  103. package/dist/mini.js +132 -0
  104. package/dist/mini.js.map +1 -0
  105. package/dist/pigment.js +8 -7
  106. package/dist/pigment.js.map +1 -1
  107. package/dist/validators/index.js +5 -45
  108. package/dist/validators/index.js.map +1 -1
  109. package/package.json +69 -11
  110. package/dist/cli/benchmark.d.ts +0 -15
  111. package/dist/cli/benchmark.d.ts.map +0 -1
  112. package/dist/cli/benchmark.js +0 -248
  113. package/dist/cli/benchmark.js.map +0 -1
  114. package/dist/cli/bin.js +0 -35
  115. package/dist/cli/bin.js.map +0 -1
  116. package/dist/cli/commands/benchmark.js +0 -204
  117. package/dist/cli/commands/benchmark.js.map +0 -1
  118. package/dist/cli/commands/validate.js +0 -157
  119. package/dist/cli/commands/validate.js.map +0 -1
  120. package/dist/cli/generate.d.ts +0 -14
  121. package/dist/cli/generate.d.ts.map +0 -1
  122. package/dist/cli/generate.js +0 -233
  123. package/dist/cli/generate.js.map +0 -1
  124. package/dist/cli/index.js +0 -182
  125. package/dist/cli/index.js.map +0 -1
  126. package/dist/cli/validate.d.ts +0 -15
  127. package/dist/cli/validate.d.ts.map +0 -1
  128. package/dist/cli/validate.js +0 -162
  129. package/dist/cli/validate.js.map +0 -1
  130. package/dist/coercion/bigint.js.map +0 -1
  131. package/dist/coercion/boolean.js +0 -59
  132. package/dist/coercion/boolean.js.map +0 -1
  133. package/dist/coercion/date.js +0 -52
  134. package/dist/coercion/date.js.map +0 -1
  135. package/dist/coercion/number.js +0 -160
  136. package/dist/coercion/number.js.map +0 -1
  137. package/dist/coercion/string.js.map +0 -1
  138. package/dist/compat/index.js +0 -14
  139. package/dist/compat/index.js.map +0 -1
  140. package/dist/events.js +0 -8
  141. package/dist/events.js.map +0 -1
  142. package/dist/guards.d.ts +0 -143
  143. package/dist/guards.d.ts.map +0 -1
  144. package/dist/guards.js +0 -238
  145. package/dist/guards.js.map +0 -1
  146. package/dist/index-new.d.ts.map +0 -1
  147. package/dist/locales/backup-en.js +0 -105
  148. package/dist/locales/backup-en.js.map +0 -1
  149. package/dist/locales/types.js +0 -2
  150. package/dist/locales/types.js.map +0 -1
  151. package/dist/locales.d.ts +0 -54
  152. package/dist/locales.d.ts.map +0 -1
  153. package/dist/locales.js +0 -732
  154. package/dist/locales.js.map +0 -1
  155. package/dist/logger.js +0 -184
  156. package/dist/logger.js.map +0 -1
  157. package/dist/plugins/codecs.d.ts +0 -17
  158. package/dist/plugins/codecs.d.ts.map +0 -1
  159. package/dist/plugins/codecs.js +0 -29
  160. package/dist/plugins/codecs.js.map +0 -1
  161. package/dist/plugins/coercion.d.ts +0 -13
  162. package/dist/plugins/coercion.d.ts.map +0 -1
  163. package/dist/plugins/coercion.js +0 -34
  164. package/dist/plugins/coercion.js.map +0 -1
  165. package/dist/plugins/core-validators.d.ts +0 -13
  166. package/dist/plugins/core-validators.d.ts.map +0 -1
  167. package/dist/plugins/core-validators.js +0 -96
  168. package/dist/plugins/core-validators.js.map +0 -1
  169. package/dist/plugins/index.js +0 -8
  170. package/dist/plugins/index.js.map +0 -1
  171. package/dist/plugins/kernel.d.ts +0 -29
  172. package/dist/plugins/kernel.d.ts.map +0 -1
  173. package/dist/plugins/kernel.js +0 -486
  174. package/dist/plugins/kernel.js.map +0 -1
  175. package/dist/plugins/types.js +0 -8
  176. package/dist/plugins/types.js.map +0 -1
  177. package/dist/style.d.ts +0 -123
  178. package/dist/style.d.ts.map +0 -1
  179. package/dist/style.js +0 -369
  180. package/dist/style.js.map +0 -1
  181. package/dist/utils/codec-utils.js +0 -229
  182. package/dist/utils/codec-utils.js.map +0 -1
  183. package/dist/utils/deep-merge.js +0 -76
  184. package/dist/utils/deep-merge.js.map +0 -1
  185. package/dist/utils/ip-validation.js +0 -98
  186. package/dist/utils/ip-validation.js.map +0 -1
  187. package/dist/utils/security.js +0 -61
  188. package/dist/utils/security.js.map +0 -1
  189. package/dist/validators/any.js +0 -25
  190. package/dist/validators/any.js.map +0 -1
  191. package/dist/validators/array.js +0 -190
  192. package/dist/validators/array.js.map +0 -1
  193. package/dist/validators/base.js +0 -499
  194. package/dist/validators/base.js.map +0 -1
  195. package/dist/validators/base64.js +0 -65
  196. package/dist/validators/base64.js.map +0 -1
  197. package/dist/validators/bigint.js +0 -142
  198. package/dist/validators/bigint.js.map +0 -1
  199. package/dist/validators/boolean.js +0 -114
  200. package/dist/validators/boolean.js.map +0 -1
  201. package/dist/validators/codec.js +0 -182
  202. package/dist/validators/codec.js.map +0 -1
  203. package/dist/validators/custom.js +0 -50
  204. package/dist/validators/custom.js.map +0 -1
  205. package/dist/validators/date.js +0 -227
  206. package/dist/validators/date.js.map +0 -1
  207. package/dist/validators/discriminated-union.js +0 -98
  208. package/dist/validators/discriminated-union.js.map +0 -1
  209. package/dist/validators/enum.js +0 -82
  210. package/dist/validators/enum.js.map +0 -1
  211. package/dist/validators/file.js +0 -114
  212. package/dist/validators/file.js.map +0 -1
  213. package/dist/validators/function.js +0 -45
  214. package/dist/validators/function.js.map +0 -1
  215. package/dist/validators/hex.js +0 -62
  216. package/dist/validators/hex.js.map +0 -1
  217. package/dist/validators/intersection.js +0 -64
  218. package/dist/validators/intersection.js.map +0 -1
  219. package/dist/validators/json.js +0 -64
  220. package/dist/validators/json.js.map +0 -1
  221. package/dist/validators/lazy.js +0 -42
  222. package/dist/validators/lazy.js.map +0 -1
  223. package/dist/validators/literal.js +0 -45
  224. package/dist/validators/literal.js.map +0 -1
  225. package/dist/validators/map.js +0 -54
  226. package/dist/validators/map.js.map +0 -1
  227. package/dist/validators/nan.js +0 -32
  228. package/dist/validators/nan.js.map +0 -1
  229. package/dist/validators/never.js +0 -29
  230. package/dist/validators/never.js.map +0 -1
  231. package/dist/validators/null.js +0 -31
  232. package/dist/validators/null.js.map +0 -1
  233. package/dist/validators/number.js +0 -225
  234. package/dist/validators/number.js.map +0 -1
  235. package/dist/validators/object-optimized.d.ts +0 -23
  236. package/dist/validators/object-optimized.d.ts.map +0 -1
  237. package/dist/validators/object-optimized.js +0 -179
  238. package/dist/validators/object-optimized.js.map +0 -1
  239. package/dist/validators/object-ultra.d.ts +0 -34
  240. package/dist/validators/object-ultra.d.ts.map +0 -1
  241. package/dist/validators/object-ultra.js +0 -175
  242. package/dist/validators/object-ultra.js.map +0 -1
  243. package/dist/validators/object.js +0 -458
  244. package/dist/validators/object.js.map +0 -1
  245. package/dist/validators/record.js +0 -128
  246. package/dist/validators/record.js.map +0 -1
  247. package/dist/validators/set.js +0 -51
  248. package/dist/validators/set.js.map +0 -1
  249. package/dist/validators/string-bool.js +0 -127
  250. package/dist/validators/string-bool.js.map +0 -1
  251. package/dist/validators/string-formats.js +0 -120
  252. package/dist/validators/string-formats.js.map +0 -1
  253. package/dist/validators/string-ultra.d.ts +0 -49
  254. package/dist/validators/string-ultra.d.ts.map +0 -1
  255. package/dist/validators/string-ultra.js +0 -217
  256. package/dist/validators/string-ultra.js.map +0 -1
  257. package/dist/validators/string.js +0 -253
  258. package/dist/validators/string.js.map +0 -1
  259. package/dist/validators/symbol.js +0 -42
  260. package/dist/validators/symbol.js.map +0 -1
  261. package/dist/validators/template-literal.js +0 -102
  262. package/dist/validators/template-literal.js.map +0 -1
  263. package/dist/validators/tuple.js +0 -55
  264. package/dist/validators/tuple.js.map +0 -1
  265. package/dist/validators/uint8array.js +0 -98
  266. package/dist/validators/uint8array.js.map +0 -1
  267. package/dist/validators/undefined.js +0 -31
  268. package/dist/validators/undefined.js.map +0 -1
  269. package/dist/validators/union-optimized.d.ts +0 -15
  270. package/dist/validators/union-optimized.d.ts.map +0 -1
  271. package/dist/validators/union-optimized.js +0 -92
  272. package/dist/validators/union-optimized.js.map +0 -1
  273. package/dist/validators/union.js +0 -126
  274. package/dist/validators/union.js.map +0 -1
  275. package/dist/validators/unknown.js.map +0 -1
  276. package/dist/validators/void.js +0 -35
  277. package/dist/validators/void.js.map +0 -1
  278. package/dist/validators/xor.js +0 -64
  279. package/dist/validators/xor.js.map +0 -1
package/dist/locales.js DELETED
@@ -1,732 +0,0 @@
1
- const locales = {
2
- // English
3
- en: {
4
- invalidString: 'Invalid string',
5
- stringMin: (min) => `String must be at least ${min} characters`,
6
- stringMax: (max) => `String must be at most ${max} characters`,
7
- stringLength: (length) => `String must be exactly ${length} characters`,
8
- stringEmail: 'Invalid email address',
9
- stringUrl: 'Invalid URL',
10
- stringUuid: 'Invalid UUID',
11
- stringRegex: 'Invalid format',
12
- stringStartsWith: (str) => `String must start with "${str}"`,
13
- stringEndsWith: (str) => `String must end with "${str}"`,
14
- stringIncludes: (str) => `String must include "${str}"`,
15
- stringIp: 'Invalid IP address',
16
- stringIpv4: 'Invalid IPv4 address',
17
- stringIpv6: 'Invalid IPv6 address',
18
- stringEmpty: 'String must not be empty',
19
- invalidNumber: 'Invalid number',
20
- numberMin: (min) => `Number must be at least ${min}`,
21
- numberMax: (max) => `Number must be at most ${max}`,
22
- numberInt: 'Number must be an integer',
23
- numberPositive: 'Number must be positive',
24
- numberNegative: 'Number must be negative',
25
- numberNonnegative: 'Number must be non-negative',
26
- numberNonpositive: 'Number must be non-positive',
27
- numberFinite: 'Number must be finite',
28
- numberSafe: 'Number must be a safe integer',
29
- numberMultipleOf: (multiple) => `Number must be a multiple of ${multiple}`,
30
- invalidBoolean: 'Invalid boolean',
31
- invalidDate: 'Invalid date',
32
- dateMin: (date) => `Date must be after ${date.toISOString()}`,
33
- dateMax: (date) => `Date must be before ${date.toISOString()}`,
34
- invalidObject: 'Invalid object',
35
- unexpectedKeys: (keys) => `Unexpected keys: ${keys.join(', ')}`,
36
- invalidArray: 'Invalid array',
37
- arrayMin: (min) => `Array must have at least ${min} items`,
38
- arrayMax: (max) => `Array must have at most ${max} items`,
39
- arrayLength: (length) => `Array must have exactly ${length} items`,
40
- arrayEmpty: 'Array must not be empty',
41
- arrayItem: (index, error) => `Invalid item at index ${index}: ${error}`,
42
- objectField: (field, error) => `Invalid field "${field}": ${error}`,
43
- unionNoMatch: (errors) => `No union member matched: ${errors.join(', ')}`,
44
- literalExpected: (expected, got) => `Expected ${JSON.stringify(expected)}, got ${JSON.stringify(got)}`,
45
- enumExpected: (values, got) => `Expected one of [${values.join(', ')}], got ${JSON.stringify(got)}`,
46
- expectedUndefined: 'Expected undefined',
47
- neverType: 'Never type cannot be parsed'
48
- },
49
- // Turkish
50
- tr: {
51
- invalidString: 'Geçersiz metin',
52
- stringMin: (min) => `Metin en az ${min} karakter olmalı`,
53
- stringMax: (max) => `Metin en fazla ${max} karakter olmalı`,
54
- stringLength: (length) => `Metin tam olarak ${length} karakter olmalı`,
55
- stringEmail: 'Geçersiz e-posta adresi',
56
- stringUrl: 'Geçersiz URL',
57
- stringUuid: 'Geçersiz UUID',
58
- stringRegex: 'Geçersiz format',
59
- stringStartsWith: (str) => `Metin "${str}" ile başlamalı`,
60
- stringEndsWith: (str) => `Metin "${str}" ile bitmeli`,
61
- stringIncludes: (str) => `Metin "${str}" içermeli`,
62
- stringIp: 'Geçersiz IP adresi',
63
- stringIpv4: 'Geçersiz IPv4 adresi',
64
- stringIpv6: 'Geçersiz IPv6 adresi',
65
- stringEmpty: 'Metin boş olmamalı',
66
- invalidNumber: 'Geçersiz sayı',
67
- numberMin: (min) => `Sayı en az ${min} olmalı`,
68
- numberMax: (max) => `Sayı en fazla ${max} olmalı`,
69
- numberInt: 'Sayı tam sayı olmalı',
70
- numberPositive: 'Sayı pozitif olmalı',
71
- numberNegative: 'Sayı negatif olmalı',
72
- numberNonnegative: 'Sayı negatif olmamalı',
73
- numberNonpositive: 'Sayı pozitif olmamalı',
74
- numberFinite: 'Sayı sonlu olmalı',
75
- numberSafe: 'Sayı güvenli tam sayı olmalı',
76
- numberMultipleOf: (multiple) => `Sayı ${multiple} katı olmalı`,
77
- invalidBoolean: 'Geçersiz boolean',
78
- invalidDate: 'Geçersiz tarih',
79
- dateMin: (date) => `Tarih ${date.toISOString()} sonrası olmalı`,
80
- dateMax: (date) => `Tarih ${date.toISOString()} öncesi olmalı`,
81
- invalidObject: 'Geçersiz nesne',
82
- unexpectedKeys: (keys) => `Beklenmeyen anahtarlar: ${keys.join(', ')}`,
83
- invalidArray: 'Geçersiz dizi',
84
- arrayMin: (min) => `Dizi en az ${min} öğe içermeli`,
85
- arrayMax: (max) => `Dizi en fazla ${max} öğe içermeli`,
86
- arrayLength: (length) => `Dizi tam olarak ${length} öğe içermeli`,
87
- arrayEmpty: 'Dizi boş olmamalı',
88
- arrayItem: (index, error) => `${index}. öğede hata: ${error}`,
89
- objectField: (field, error) => `"${field}" alanında hata: ${error}`,
90
- unionNoMatch: (errors) => `Hiçbir seçenek eşleşmedi: ${errors.join(', ')}`,
91
- literalExpected: (expected, got) => `${JSON.stringify(expected)} bekleniyordu, ${JSON.stringify(got)} geldi`,
92
- enumExpected: (values, got) => `[${values.join(', ')}] değerlerinden biri bekleniyordu, ${JSON.stringify(got)} geldi`,
93
- expectedUndefined: 'Undefined bekleniyordu',
94
- neverType: 'Never tipi parse edilemez'
95
- },
96
- // Spanish
97
- es: {
98
- invalidString: 'Cadena inválida',
99
- stringMin: (min) => `La cadena debe tener al menos ${min} caracteres`,
100
- stringMax: (max) => `La cadena debe tener como máximo ${max} caracteres`,
101
- stringLength: (length) => `La cadena debe tener exactamente ${length} caracteres`,
102
- stringEmail: 'Dirección de correo inválida',
103
- stringUrl: 'URL inválida',
104
- stringUuid: 'UUID inválido',
105
- stringRegex: 'Formato inválido',
106
- stringStartsWith: (str) => `La cadena debe comenzar con "${str}"`,
107
- stringEndsWith: (str) => `La cadena debe terminar con "${str}"`,
108
- stringIncludes: (str) => `La cadena debe incluir "${str}"`,
109
- stringIp: 'Dirección IP inválida',
110
- stringIpv4: 'Dirección IPv4 inválida',
111
- stringIpv6: 'Dirección IPv6 inválida',
112
- stringEmpty: 'La cadena no debe estar vacía',
113
- invalidNumber: 'Número inválido',
114
- numberMin: (min) => `El número debe ser al menos ${min}`,
115
- numberMax: (max) => `El número debe ser como máximo ${max}`,
116
- numberInt: 'El número debe ser entero',
117
- numberPositive: 'El número debe ser positivo',
118
- numberNegative: 'El número debe ser negativo',
119
- numberNonnegative: 'El número debe ser no negativo',
120
- numberNonpositive: 'El número debe ser no positivo',
121
- numberFinite: 'El número debe ser finito',
122
- numberSafe: 'El número debe ser un entero seguro',
123
- numberMultipleOf: (multiple) => `El número debe ser múltiplo de ${multiple}`,
124
- invalidBoolean: 'Booleano inválido',
125
- invalidDate: 'Fecha inválida',
126
- dateMin: (date) => `La fecha debe ser posterior a ${date.toISOString()}`,
127
- dateMax: (date) => `La fecha debe ser anterior a ${date.toISOString()}`,
128
- invalidObject: 'Objeto inválido',
129
- unexpectedKeys: (keys) => `Claves inesperadas: ${keys.join(', ')}`,
130
- invalidArray: 'Array inválido',
131
- arrayMin: (min) => `El array debe tener al menos ${min} elementos`,
132
- arrayMax: (max) => `El array debe tener como máximo ${max} elementos`,
133
- arrayLength: (length) => `El array debe tener exactamente ${length} elementos`,
134
- arrayEmpty: 'El array no debe estar vacío',
135
- arrayItem: (index, error) => `Elemento inválido en índice ${index}: ${error}`,
136
- objectField: (field, error) => `Campo inválido "${field}": ${error}`,
137
- unionNoMatch: (errors) => `Ningún miembro de la unión coincidió: ${errors.join(', ')}`,
138
- literalExpected: (expected, got) => `Se esperaba ${JSON.stringify(expected)}, se obtuvo ${JSON.stringify(got)}`,
139
- enumExpected: (values, got) => `Se esperaba uno de [${values.join(', ')}], se obtuvo ${JSON.stringify(got)}`,
140
- expectedUndefined: 'Se esperaba undefined',
141
- neverType: 'El tipo never no puede ser parseado'
142
- },
143
- // French
144
- fr: {
145
- invalidString: 'Chaîne invalide',
146
- stringMin: (min) => `La chaîne doit contenir au moins ${min} caractères`,
147
- stringMax: (max) => `La chaîne doit contenir au plus ${max} caractères`,
148
- stringLength: (length) => `La chaîne doit contenir exactement ${length} caractères`,
149
- stringEmail: 'Adresse e-mail invalide',
150
- stringUrl: 'URL invalide',
151
- stringUuid: 'UUID invalide',
152
- stringRegex: 'Format invalide',
153
- stringStartsWith: (str) => `La chaîne doit commencer par "${str}"`,
154
- stringEndsWith: (str) => `La chaîne doit se terminer par "${str}"`,
155
- stringIncludes: (str) => `La chaîne doit inclure "${str}"`,
156
- stringIp: 'Adresse IP invalide',
157
- stringIpv4: 'Adresse IPv4 invalide',
158
- stringIpv6: 'Adresse IPv6 invalide',
159
- stringEmpty: 'La chaîne ne doit pas être vide',
160
- invalidNumber: 'Nombre invalide',
161
- numberMin: (min) => `Le nombre doit être au moins ${min}`,
162
- numberMax: (max) => `Le nombre doit être au plus ${max}`,
163
- numberInt: 'Le nombre doit être un entier',
164
- numberPositive: 'Le nombre doit être positif',
165
- numberNegative: 'Le nombre doit être négatif',
166
- numberNonnegative: 'Le nombre doit être non négatif',
167
- numberNonpositive: 'Le nombre doit être non positif',
168
- numberFinite: 'Le nombre doit être fini',
169
- numberSafe: 'Le nombre doit être un entier sûr',
170
- numberMultipleOf: (multiple) => `Le nombre doit être un multiple de ${multiple}`,
171
- invalidBoolean: 'Booléen invalide',
172
- invalidDate: 'Date invalide',
173
- dateMin: (date) => `La date doit être après ${date.toISOString()}`,
174
- dateMax: (date) => `La date doit être avant ${date.toISOString()}`,
175
- invalidObject: 'Objet invalide',
176
- unexpectedKeys: (keys) => `Clés inattendues: ${keys.join(', ')}`,
177
- invalidArray: 'Tableau invalide',
178
- arrayMin: (min) => `Le tableau doit avoir au moins ${min} éléments`,
179
- arrayMax: (max) => `Le tableau doit avoir au plus ${max} éléments`,
180
- arrayLength: (length) => `Le tableau doit avoir exactement ${length} éléments`,
181
- arrayEmpty: 'Le tableau ne doit pas être vide',
182
- arrayItem: (index, error) => `Élément invalide à l'index ${index}: ${error}`,
183
- objectField: (field, error) => `Champ invalide "${field}": ${error}`,
184
- unionNoMatch: (errors) => `Aucun membre de l'union ne correspond: ${errors.join(', ')}`,
185
- literalExpected: (expected, got) => `Attendu ${JSON.stringify(expected)}, reçu ${JSON.stringify(got)}`,
186
- enumExpected: (values, got) => `Attendu l'un de [${values.join(', ')}], reçu ${JSON.stringify(got)}`,
187
- expectedUndefined: 'Undefined attendu',
188
- neverType: 'Le type never ne peut pas être analysé'
189
- },
190
- // German
191
- de: {
192
- invalidString: 'Ungültiger String',
193
- stringMin: (min) => `String muss mindestens ${min} Zeichen haben`,
194
- stringMax: (max) => `String darf maximal ${max} Zeichen haben`,
195
- stringLength: (length) => `String muss genau ${length} Zeichen haben`,
196
- stringEmail: 'Ungültige E-Mail-Adresse',
197
- stringUrl: 'Ungültige URL',
198
- stringUuid: 'Ungültige UUID',
199
- stringRegex: 'Ungültiges Format',
200
- stringStartsWith: (str) => `String muss mit "${str}" beginnen`,
201
- stringEndsWith: (str) => `String muss mit "${str}" enden`,
202
- stringIncludes: (str) => `String muss "${str}" enthalten`,
203
- stringIp: 'Ungültige IP-Adresse',
204
- stringIpv4: 'Ungültige IPv4-Adresse',
205
- stringIpv6: 'Ungültige IPv6-Adresse',
206
- stringEmpty: 'String darf nicht leer sein',
207
- invalidNumber: 'Ungültige Zahl',
208
- numberMin: (min) => `Zahl muss mindestens ${min} sein`,
209
- numberMax: (max) => `Zahl darf maximal ${max} sein`,
210
- numberInt: 'Zahl muss eine Ganzzahl sein',
211
- numberPositive: 'Zahl muss positiv sein',
212
- numberNegative: 'Zahl muss negativ sein',
213
- numberNonnegative: 'Zahl darf nicht negativ sein',
214
- numberNonpositive: 'Zahl darf nicht positiv sein',
215
- numberFinite: 'Zahl muss endlich sein',
216
- numberSafe: 'Zahl muss eine sichere Ganzzahl sein',
217
- numberMultipleOf: (multiple) => `Zahl muss ein Vielfaches von ${multiple} sein`,
218
- invalidBoolean: 'Ungültiger Boolean',
219
- invalidDate: 'Ungültiges Datum',
220
- dateMin: (date) => `Datum muss nach ${date.toISOString()} sein`,
221
- dateMax: (date) => `Datum muss vor ${date.toISOString()} sein`,
222
- invalidObject: 'Ungültiges Objekt',
223
- unexpectedKeys: (keys) => `Unerwartete Schlüssel: ${keys.join(', ')}`,
224
- invalidArray: 'Ungültiges Array',
225
- arrayMin: (min) => `Array muss mindestens ${min} Elemente haben`,
226
- arrayMax: (max) => `Array darf maximal ${max} Elemente haben`,
227
- arrayLength: (length) => `Array muss genau ${length} Elemente haben`,
228
- arrayEmpty: 'Array darf nicht leer sein',
229
- arrayItem: (index, error) => `Ungültiges Element bei Index ${index}: ${error}`,
230
- objectField: (field, error) => `Ungültiges Feld "${field}": ${error}`,
231
- unionNoMatch: (errors) => `Kein Union-Mitglied passt: ${errors.join(', ')}`,
232
- literalExpected: (expected, got) => `Erwartet ${JSON.stringify(expected)}, erhalten ${JSON.stringify(got)}`,
233
- enumExpected: (values, got) => `Erwartet eines von [${values.join(', ')}], erhalten ${JSON.stringify(got)}`,
234
- expectedUndefined: 'Undefined erwartet',
235
- neverType: 'Never-Typ kann nicht geparst werden'
236
- },
237
- // Italian
238
- it: {
239
- invalidString: 'Stringa non valida',
240
- stringMin: (min) => `La stringa deve avere almeno ${min} caratteri`,
241
- stringMax: (max) => `La stringa deve avere al massimo ${max} caratteri`,
242
- stringLength: (length) => `La stringa deve avere esattamente ${length} caratteri`,
243
- stringEmail: 'Indirizzo email non valido',
244
- stringUrl: 'URL non valido',
245
- stringUuid: 'UUID non valido',
246
- stringRegex: 'Formato non valido',
247
- stringStartsWith: (str) => `La stringa deve iniziare con "${str}"`,
248
- stringEndsWith: (str) => `La stringa deve terminare con "${str}"`,
249
- stringIncludes: (str) => `La stringa deve includere "${str}"`,
250
- stringIp: 'Indirizzo IP non valido',
251
- stringIpv4: 'Indirizzo IPv4 non valido',
252
- stringIpv6: 'Indirizzo IPv6 non valido',
253
- stringEmpty: 'La stringa non deve essere vuota',
254
- invalidNumber: 'Numero non valido',
255
- numberMin: (min) => `Il numero deve essere almeno ${min}`,
256
- numberMax: (max) => `Il numero deve essere al massimo ${max}`,
257
- numberInt: 'Il numero deve essere intero',
258
- numberPositive: 'Il numero deve essere positivo',
259
- numberNegative: 'Il numero deve essere negativo',
260
- numberNonnegative: 'Il numero deve essere non negativo',
261
- numberNonpositive: 'Il numero deve essere non positivo',
262
- numberFinite: 'Il numero deve essere finito',
263
- numberSafe: 'Il numero deve essere un intero sicuro',
264
- numberMultipleOf: (multiple) => `Il numero deve essere un multiplo di ${multiple}`,
265
- invalidBoolean: 'Booleano non valido',
266
- invalidDate: 'Data non valida',
267
- dateMin: (date) => `La data deve essere dopo ${date.toISOString()}`,
268
- dateMax: (date) => `La data deve essere prima di ${date.toISOString()}`,
269
- invalidObject: 'Oggetto non valido',
270
- unexpectedKeys: (keys) => `Chiavi inaspettate: ${keys.join(', ')}`,
271
- invalidArray: 'Array non valido',
272
- arrayMin: (min) => `L'array deve avere almeno ${min} elementi`,
273
- arrayMax: (max) => `L'array deve avere al massimo ${max} elementi`,
274
- arrayLength: (length) => `L'array deve avere esattamente ${length} elementi`,
275
- arrayEmpty: `L'array non deve essere vuoto`,
276
- arrayItem: (index, error) => `Elemento non valido all'indice ${index}: ${error}`,
277
- objectField: (field, error) => `Campo non valido "${field}": ${error}`,
278
- unionNoMatch: (errors) => `Nessun membro dell'unione corrisponde: ${errors.join(', ')}`,
279
- literalExpected: (expected, got) => `Atteso ${JSON.stringify(expected)}, ricevuto ${JSON.stringify(got)}`,
280
- enumExpected: (values, got) => `Atteso uno tra [${values.join(', ')}], ricevuto ${JSON.stringify(got)}`,
281
- expectedUndefined: 'Atteso undefined',
282
- neverType: 'Il tipo never non può essere analizzato'
283
- },
284
- // Portuguese
285
- pt: {
286
- invalidString: 'String inválida',
287
- stringMin: (min) => `String deve ter pelo menos ${min} caracteres`,
288
- stringMax: (max) => `String deve ter no máximo ${max} caracteres`,
289
- stringLength: (length) => `String deve ter exatamente ${length} caracteres`,
290
- stringEmail: 'Endereço de e-mail inválido',
291
- stringUrl: 'URL inválida',
292
- stringUuid: 'UUID inválido',
293
- stringRegex: 'Formato inválido',
294
- stringStartsWith: (str) => `String deve começar com "${str}"`,
295
- stringEndsWith: (str) => `String deve terminar com "${str}"`,
296
- stringIncludes: (str) => `String deve incluir "${str}"`,
297
- stringIp: 'Endereço IP inválido',
298
- stringIpv4: 'Endereço IPv4 inválido',
299
- stringIpv6: 'Endereço IPv6 inválido',
300
- stringEmpty: 'String não deve estar vazia',
301
- invalidNumber: 'Número inválido',
302
- numberMin: (min) => `Número deve ser pelo menos ${min}`,
303
- numberMax: (max) => `Número deve ser no máximo ${max}`,
304
- numberInt: 'Número deve ser inteiro',
305
- numberPositive: 'Número deve ser positivo',
306
- numberNegative: 'Número deve ser negativo',
307
- numberNonnegative: 'Número deve ser não negativo',
308
- numberNonpositive: 'Número deve ser não positivo',
309
- numberFinite: 'Número deve ser finito',
310
- numberSafe: 'Número deve ser um inteiro seguro',
311
- numberMultipleOf: (multiple) => `Número deve ser múltiplo de ${multiple}`,
312
- invalidBoolean: 'Booleano inválido',
313
- invalidDate: 'Data inválida',
314
- dateMin: (date) => `Data deve ser após ${date.toISOString()}`,
315
- dateMax: (date) => `Data deve ser antes de ${date.toISOString()}`,
316
- invalidObject: 'Objeto inválido',
317
- unexpectedKeys: (keys) => `Chaves inesperadas: ${keys.join(', ')}`,
318
- invalidArray: 'Array inválido',
319
- arrayMin: (min) => `Array deve ter pelo menos ${min} itens`,
320
- arrayMax: (max) => `Array deve ter no máximo ${max} itens`,
321
- arrayLength: (length) => `Array deve ter exatamente ${length} itens`,
322
- arrayEmpty: 'Array não deve estar vazio',
323
- arrayItem: (index, error) => `Item inválido no índice ${index}: ${error}`,
324
- objectField: (field, error) => `Campo inválido "${field}": ${error}`,
325
- unionNoMatch: (errors) => `Nenhum membro da união correspondeu: ${errors.join(', ')}`,
326
- literalExpected: (expected, got) => `Esperado ${JSON.stringify(expected)}, recebido ${JSON.stringify(got)}`,
327
- enumExpected: (values, got) => `Esperado um de [${values.join(', ')}], recebido ${JSON.stringify(got)}`,
328
- expectedUndefined: 'Esperado undefined',
329
- neverType: 'Tipo never não pode ser analisado'
330
- },
331
- // Russian
332
- ru: {
333
- invalidString: 'Недопустимая строка',
334
- stringMin: (min) => `Строка должна содержать не менее ${min} символов`,
335
- stringMax: (max) => `Строка должна содержать не более ${max} символов`,
336
- stringLength: (length) => `Строка должна содержать ровно ${length} символов`,
337
- stringEmail: 'Недопустимый адрес электронной почты',
338
- stringUrl: 'Недопустимый URL',
339
- stringUuid: 'Недопустимый UUID',
340
- stringRegex: 'Недопустимый формат',
341
- stringStartsWith: (str) => `Строка должна начинаться с "${str}"`,
342
- stringEndsWith: (str) => `Строка должна заканчиваться на "${str}"`,
343
- stringIncludes: (str) => `Строка должна содержать "${str}"`,
344
- stringIp: 'Недопустимый IP-адрес',
345
- stringIpv4: 'Недопустимый IPv4-адрес',
346
- stringIpv6: 'Недопустимый IPv6-адрес',
347
- stringEmpty: 'Строка не должна быть пустой',
348
- invalidNumber: 'Недопустимое число',
349
- numberMin: (min) => `Число должно быть не менее ${min}`,
350
- numberMax: (max) => `Число должно быть не более ${max}`,
351
- numberInt: 'Число должно быть целым',
352
- numberPositive: 'Число должно быть положительным',
353
- numberNegative: 'Число должно быть отрицательным',
354
- numberNonnegative: 'Число должно быть неотрицательным',
355
- numberNonpositive: 'Число должно быть неположительным',
356
- numberFinite: 'Число должно быть конечным',
357
- numberSafe: 'Число должно быть безопасным целым',
358
- numberMultipleOf: (multiple) => `Число должно быть кратным ${multiple}`,
359
- invalidBoolean: 'Недопустимое логическое значение',
360
- invalidDate: 'Недопустимая дата',
361
- dateMin: (date) => `Дата должна быть после ${date.toISOString()}`,
362
- dateMax: (date) => `Дата должна быть до ${date.toISOString()}`,
363
- invalidObject: 'Недопустимый объект',
364
- unexpectedKeys: (keys) => `Неожиданные ключи: ${keys.join(', ')}`,
365
- invalidArray: 'Недопустимый массив',
366
- arrayMin: (min) => `Массив должен содержать не менее ${min} элементов`,
367
- arrayMax: (max) => `Массив должен содержать не более ${max} элементов`,
368
- arrayLength: (length) => `Массив должен содержать ровно ${length} элементов`,
369
- arrayEmpty: 'Массив не должен быть пустым',
370
- arrayItem: (index, error) => `Недопустимый элемент с индексом ${index}: ${error}`,
371
- objectField: (field, error) => `Недопустимое поле "${field}": ${error}`,
372
- unionNoMatch: (errors) => `Ни один член объединения не подошел: ${errors.join(', ')}`,
373
- literalExpected: (expected, got) => `Ожидалось ${JSON.stringify(expected)}, получено ${JSON.stringify(got)}`,
374
- enumExpected: (values, got) => `Ожидалось одно из [${values.join(', ')}], получено ${JSON.stringify(got)}`,
375
- expectedUndefined: 'Ожидалось undefined',
376
- neverType: 'Тип never не может быть проанализирован'
377
- },
378
- // Japanese
379
- ja: {
380
- invalidString: '無効な文字列',
381
- stringMin: (min) => `文字列は${min}文字以上である必要があります`,
382
- stringMax: (max) => `文字列は${max}文字以下である必要があります`,
383
- stringLength: (length) => `文字列はちょうど${length}文字である必要があります`,
384
- stringEmail: '無効なメールアドレス',
385
- stringUrl: '無効なURL',
386
- stringUuid: '無効なUUID',
387
- stringRegex: '無効な形式',
388
- stringStartsWith: (str) => `文字列は"${str}"で始まる必要があります`,
389
- stringEndsWith: (str) => `文字列は"${str}"で終わる必要があります`,
390
- stringIncludes: (str) => `文字列は"${str}"を含む必要があります`,
391
- stringIp: '無効なIPアドレス',
392
- stringIpv4: '無効なIPv4アドレス',
393
- stringIpv6: '無効なIPv6アドレス',
394
- stringEmpty: '文字列は空であってはなりません',
395
- invalidNumber: '無効な数値',
396
- numberMin: (min) => `数値は${min}以上である必要があります`,
397
- numberMax: (max) => `数値は${max}以下である必要があります`,
398
- numberInt: '数値は整数である必要があります',
399
- numberPositive: '数値は正である必要があります',
400
- numberNegative: '数値は負である必要があります',
401
- numberNonnegative: '数値は非負である必要があります',
402
- numberNonpositive: '数値は非正である必要があります',
403
- numberFinite: '数値は有限である必要があります',
404
- numberSafe: '数値は安全な整数である必要があります',
405
- numberMultipleOf: (multiple) => `数値は${multiple}の倍数である必要があります`,
406
- invalidBoolean: '無効なブール値',
407
- invalidDate: '無効な日付',
408
- dateMin: (date) => `日付は${date.toISOString()}より後である必要があります`,
409
- dateMax: (date) => `日付は${date.toISOString()}より前である必要があります`,
410
- invalidObject: '無効なオブジェクト',
411
- unexpectedKeys: (keys) => `予期しないキー: ${keys.join(', ')}`,
412
- invalidArray: '無効な配列',
413
- arrayMin: (min) => `配列は少なくとも${min}個の要素を持つ必要があります`,
414
- arrayMax: (max) => `配列は最大${max}個の要素を持つ必要があります`,
415
- arrayLength: (length) => `配列はちょうど${length}個の要素を持つ必要があります`,
416
- arrayEmpty: '配列は空であってはなりません',
417
- arrayItem: (index, error) => `インデックス${index}の無効な要素: ${error}`,
418
- objectField: (field, error) => `無効なフィールド"${field}": ${error}`,
419
- unionNoMatch: (errors) => `ユニオンメンバーが一致しませんでした: ${errors.join(', ')}`,
420
- literalExpected: (expected, got) => `${JSON.stringify(expected)}が期待されましたが、${JSON.stringify(got)}を受け取りました`,
421
- enumExpected: (values, got) => `[${values.join(', ')}]のいずれかが期待されましたが、${JSON.stringify(got)}を受け取りました`,
422
- expectedUndefined: 'undefinedが期待されました',
423
- neverType: 'never型は解析できません'
424
- },
425
- // Korean
426
- ko: {
427
- invalidString: '유효하지 않은 문자열',
428
- stringMin: (min) => `문자열은 최소 ${min}자여야 합니다`,
429
- stringMax: (max) => `문자열은 최대 ${max}자여야 합니다`,
430
- stringLength: (length) => `문자열은 정확히 ${length}자여야 합니다`,
431
- stringEmail: '유효하지 않은 이메일 주소',
432
- stringUrl: '유효하지 않은 URL',
433
- stringUuid: '유효하지 않은 UUID',
434
- stringRegex: '유효하지 않은 형식',
435
- stringStartsWith: (str) => `문자열은 "${str}"로 시작해야 합니다`,
436
- stringEndsWith: (str) => `문자열은 "${str}"로 끝나야 합니다`,
437
- stringIncludes: (str) => `문자열은 "${str}"를 포함해야 합니다`,
438
- stringIp: '유효하지 않은 IP 주소',
439
- stringIpv4: '유효하지 않은 IPv4 주소',
440
- stringIpv6: '유효하지 않은 IPv6 주소',
441
- stringEmpty: '문자열은 비어있으면 안 됩니다',
442
- invalidNumber: '유효하지 않은 숫자',
443
- numberMin: (min) => `숫자는 최소 ${min}이어야 합니다`,
444
- numberMax: (max) => `숫자는 최대 ${max}이어야 합니다`,
445
- numberInt: '숫자는 정수여야 합니다',
446
- numberPositive: '숫자는 양수여야 합니다',
447
- numberNegative: '숫자는 음수여야 합니다',
448
- numberNonnegative: '숫자는 음이 아니어야 합니다',
449
- numberNonpositive: '숫자는 양이 아니어야 합니다',
450
- numberFinite: '숫자는 유한해야 합니다',
451
- numberSafe: '숫자는 안전한 정수여야 합니다',
452
- numberMultipleOf: (multiple) => `숫자는 ${multiple}의 배수여야 합니다`,
453
- invalidBoolean: '유효하지 않은 불린',
454
- invalidDate: '유효하지 않은 날짜',
455
- dateMin: (date) => `날짜는 ${date.toISOString()} 이후여야 합니다`,
456
- dateMax: (date) => `날짜는 ${date.toISOString()} 이전이어야 합니다`,
457
- invalidObject: '유효하지 않은 객체',
458
- unexpectedKeys: (keys) => `예상치 못한 키: ${keys.join(', ')}`,
459
- invalidArray: '유효하지 않은 배열',
460
- arrayMin: (min) => `배열은 최소 ${min}개의 요소를 가져야 합니다`,
461
- arrayMax: (max) => `배열은 최대 ${max}개의 요소를 가져야 합니다`,
462
- arrayLength: (length) => `배열은 정확히 ${length}개의 요소를 가져야 합니다`,
463
- arrayEmpty: '배열은 비어있으면 안 됩니다',
464
- arrayItem: (index, error) => `인덱스 ${index}의 유효하지 않은 요소: ${error}`,
465
- objectField: (field, error) => `유효하지 않은 필드 "${field}": ${error}`,
466
- unionNoMatch: (errors) => `일치하는 유니온 멤버가 없습니다: ${errors.join(', ')}`,
467
- literalExpected: (expected, got) => `${JSON.stringify(expected)}가 예상되었지만 ${JSON.stringify(got)}를 받았습니다`,
468
- enumExpected: (values, got) => `[${values.join(', ')}] 중 하나가 예상되었지만 ${JSON.stringify(got)}를 받았습니다`,
469
- expectedUndefined: 'undefined가 예상되었습니다',
470
- neverType: 'never 타입은 파싱할 수 없습니다'
471
- },
472
- // Chinese
473
- zh: {
474
- invalidString: '无效的字符串',
475
- stringMin: (min) => `字符串至少需要${min}个字符`,
476
- stringMax: (max) => `字符串最多${max}个字符`,
477
- stringLength: (length) => `字符串必须正好${length}个字符`,
478
- stringEmail: '无效的电子邮件地址',
479
- stringUrl: '无效的URL',
480
- stringUuid: '无效的UUID',
481
- stringRegex: '无效的格式',
482
- stringStartsWith: (str) => `字符串必须以"${str}"开头`,
483
- stringEndsWith: (str) => `字符串必须以"${str}"结尾`,
484
- stringIncludes: (str) => `字符串必须包含"${str}"`,
485
- stringIp: '无效的IP地址',
486
- stringIpv4: '无效的IPv4地址',
487
- stringIpv6: '无效的IPv6地址',
488
- stringEmpty: '字符串不能为空',
489
- invalidNumber: '无效的数字',
490
- numberMin: (min) => `数字至少为${min}`,
491
- numberMax: (max) => `数字最多为${max}`,
492
- numberInt: '数字必须是整数',
493
- numberPositive: '数字必须是正数',
494
- numberNegative: '数字必须是负数',
495
- numberNonnegative: '数字必须是非负数',
496
- numberNonpositive: '数字必须是非正数',
497
- numberFinite: '数字必须是有限的',
498
- numberSafe: '数字必须是安全整数',
499
- numberMultipleOf: (multiple) => `数字必须是${multiple}的倍数`,
500
- invalidBoolean: '无效的布尔值',
501
- invalidDate: '无效的日期',
502
- dateMin: (date) => `日期必须在${date.toISOString()}之后`,
503
- dateMax: (date) => `日期必须在${date.toISOString()}之前`,
504
- invalidObject: '无效的对象',
505
- unexpectedKeys: (keys) => `意外的键: ${keys.join(', ')}`,
506
- invalidArray: '无效的数组',
507
- arrayMin: (min) => `数组至少需要${min}个元素`,
508
- arrayMax: (max) => `数组最多${max}个元素`,
509
- arrayLength: (length) => `数组必须正好${length}个元素`,
510
- arrayEmpty: '数组不能为空',
511
- arrayItem: (index, error) => `索引${index}处的无效元素: ${error}`,
512
- objectField: (field, error) => `无效字段"${field}": ${error}`,
513
- unionNoMatch: (errors) => `没有匹配的联合成员: ${errors.join(', ')}`,
514
- literalExpected: (expected, got) => `期望${JSON.stringify(expected)},得到${JSON.stringify(got)}`,
515
- enumExpected: (values, got) => `期望[${values.join(', ')}]之一,得到${JSON.stringify(got)}`,
516
- expectedUndefined: '期望undefined',
517
- neverType: 'never类型无法解析'
518
- },
519
- // Arabic
520
- ar: {
521
- invalidString: 'نص غير صالح',
522
- stringMin: (min) => `يجب أن يحتوي النص على ${min} حرف على الأقل`,
523
- stringMax: (max) => `يجب أن يحتوي النص على ${max} حرف كحد أقصى`,
524
- stringLength: (length) => `يجب أن يحتوي النص على ${length} حرف بالضبط`,
525
- stringEmail: 'عنوان بريد إلكتروني غير صالح',
526
- stringUrl: 'عنوان URL غير صالح',
527
- stringUuid: 'UUID غير صالح',
528
- stringRegex: 'تنسيق غير صالح',
529
- stringStartsWith: (str) => `يجب أن يبدأ النص بـ "${str}"`,
530
- stringEndsWith: (str) => `يجب أن ينتهي النص بـ "${str}"`,
531
- stringIncludes: (str) => `يجب أن يحتوي النص على "${str}"`,
532
- stringIp: 'عنوان IP غير صالح',
533
- stringIpv4: 'عنوان IPv4 غير صالح',
534
- stringIpv6: 'عنوان IPv6 غير صالح',
535
- stringEmpty: 'يجب ألا يكون النص فارغًا',
536
- invalidNumber: 'رقم غير صالح',
537
- numberMin: (min) => `يجب أن يكون الرقم ${min} على الأقل`,
538
- numberMax: (max) => `يجب أن يكون الرقم ${max} كحد أقصى`,
539
- numberInt: 'يجب أن يكون الرقم صحيحًا',
540
- numberPositive: 'يجب أن يكون الرقم موجبًا',
541
- numberNegative: 'يجب أن يكون الرقم سالبًا',
542
- numberNonnegative: 'يجب أن يكون الرقم غير سالب',
543
- numberNonpositive: 'يجب أن يكون الرقم غير موجب',
544
- numberFinite: 'يجب أن يكون الرقم محدودًا',
545
- numberSafe: 'يجب أن يكون الرقم صحيحًا آمنًا',
546
- numberMultipleOf: (multiple) => `يجب أن يكون الرقم من مضاعفات ${multiple}`,
547
- invalidBoolean: 'قيمة منطقية غير صالحة',
548
- invalidDate: 'تاريخ غير صالح',
549
- dateMin: (date) => `يجب أن يكون التاريخ بعد ${date.toISOString()}`,
550
- dateMax: (date) => `يجب أن يكون التاريخ قبل ${date.toISOString()}`,
551
- invalidObject: 'كائن غير صالح',
552
- unexpectedKeys: (keys) => `مفاتيح غير متوقعة: ${keys.join(', ')}`,
553
- invalidArray: 'مصفوفة غير صالحة',
554
- arrayMin: (min) => `يجب أن تحتوي المصفوفة على ${min} عنصر على الأقل`,
555
- arrayMax: (max) => `يجب أن تحتوي المصفوفة على ${max} عنصر كحد أقصى`,
556
- arrayLength: (length) => `يجب أن تحتوي المصفوفة على ${length} عنصر بالضبط`,
557
- arrayEmpty: 'يجب ألا تكون المصفوفة فارغة',
558
- arrayItem: (index, error) => `عنصر غير صالح في الفهرس ${index}: ${error}`,
559
- objectField: (field, error) => `حقل غير صالح "${field}": ${error}`,
560
- unionNoMatch: (errors) => `لا يوجد عضو اتحاد مطابق: ${errors.join(', ')}`,
561
- literalExpected: (expected, got) => `متوقع ${JSON.stringify(expected)}، حصلت على ${JSON.stringify(got)}`,
562
- enumExpected: (values, got) => `متوقع واحد من [${values.join(', ')}]، حصلت على ${JSON.stringify(got)}`,
563
- expectedUndefined: 'متوقع undefined',
564
- neverType: 'لا يمكن تحليل النوع never'
565
- },
566
- // Hindi
567
- hi: {
568
- invalidString: 'अमान्य स्ट्रिंग',
569
- stringMin: (min) => `स्ट्रिंग में कम से कम ${min} अक्षर होने चाहिए`,
570
- stringMax: (max) => `स्ट्रिंग में अधिकतम ${max} अक्षर होने चाहिए`,
571
- stringLength: (length) => `स्ट्रिंग में ठीक ${length} अक्षर होने चाहिए`,
572
- stringEmail: 'अमान्य ईमेल पता',
573
- stringUrl: 'अमान्य URL',
574
- stringUuid: 'अमान्य UUID',
575
- stringRegex: 'अमान्य प्रारूप',
576
- stringStartsWith: (str) => `स्ट्रिंग "${str}" से शुरू होनी चाहिए`,
577
- stringEndsWith: (str) => `स्ट्रिंग "${str}" पर समाप्त होनी चाहिए`,
578
- stringIncludes: (str) => `स्ट्रिंग में "${str}" शामिल होना चाहिए`,
579
- stringIp: 'अमान्य IP पता',
580
- stringIpv4: 'अमान्य IPv4 पता',
581
- stringIpv6: 'अमान्य IPv6 पता',
582
- stringEmpty: 'स्ट्रिंग खाली नहीं होनी चाहिए',
583
- invalidNumber: 'अमान्य संख्या',
584
- numberMin: (min) => `संख्या कम से कम ${min} होनी चाहिए`,
585
- numberMax: (max) => `संख्या अधिकतम ${max} होनी चाहिए`,
586
- numberInt: 'संख्या पूर्णांक होनी चाहिए',
587
- numberPositive: 'संख्या धनात्मक होनी चाहिए',
588
- numberNegative: 'संख्या ऋणात्मक होनी चाहिए',
589
- numberNonnegative: 'संख्या गैर-ऋणात्मक होनी चाहिए',
590
- numberNonpositive: 'संख्या गैर-धनात्मक होनी चाहिए',
591
- numberFinite: 'संख्या परिमित होनी चाहिए',
592
- numberSafe: 'संख्या सुरक्षित पूर्णांक होनी चाहिए',
593
- numberMultipleOf: (multiple) => `संख्या ${multiple} का गुणज होनी चाहिए`,
594
- invalidBoolean: 'अमान्य बूलियन',
595
- invalidDate: 'अमान्य तारीख',
596
- dateMin: (date) => `तारीख ${date.toISOString()} के बाद होनी चाहिए`,
597
- dateMax: (date) => `तारीख ${date.toISOString()} से पहले होनी चाहिए`,
598
- invalidObject: 'अमान्य ऑब्जेक्ट',
599
- unexpectedKeys: (keys) => `अप्रत्याशित कुंजियाँ: ${keys.join(', ')}`,
600
- invalidArray: 'अमान्य सरणी',
601
- arrayMin: (min) => `सरणी में कम से कम ${min} तत्व होने चाहिए`,
602
- arrayMax: (max) => `सरणी में अधिकतम ${max} तत्व होने चाहिए`,
603
- arrayLength: (length) => `सरणी में ठीक ${length} तत्व होने चाहिए`,
604
- arrayEmpty: 'सरणी खाली नहीं होनी चाहिए',
605
- arrayItem: (index, error) => `इंडेक्स ${index} पर अमान्य तत्व: ${error}`,
606
- objectField: (field, error) => `अमान्य फील्ड "${field}": ${error}`,
607
- unionNoMatch: (errors) => `कोई यूनियन सदस्य मेल नहीं खाता: ${errors.join(', ')}`,
608
- literalExpected: (expected, got) => `${JSON.stringify(expected)} की उम्मीद थी, ${JSON.stringify(got)} मिला`,
609
- enumExpected: (values, got) => `[${values.join(', ')}] में से एक की उम्मीद थी, ${JSON.stringify(got)} मिला`,
610
- expectedUndefined: 'undefined की उम्मीद थी',
611
- neverType: 'never प्रकार को पार्स नहीं किया जा सकता'
612
- },
613
- // Dutch
614
- nl: {
615
- invalidString: 'Ongeldige string',
616
- stringMin: (min) => `String moet minstens ${min} tekens bevatten`,
617
- stringMax: (max) => `String mag maximaal ${max} tekens bevatten`,
618
- stringLength: (length) => `String moet precies ${length} tekens bevatten`,
619
- stringEmail: 'Ongeldig e-mailadres',
620
- stringUrl: 'Ongeldige URL',
621
- stringUuid: 'Ongeldige UUID',
622
- stringRegex: 'Ongeldig formaat',
623
- stringStartsWith: (str) => `String moet beginnen met "${str}"`,
624
- stringEndsWith: (str) => `String moet eindigen met "${str}"`,
625
- stringIncludes: (str) => `String moet "${str}" bevatten`,
626
- stringIp: 'Ongeldig IP-adres',
627
- stringIpv4: 'Ongeldig IPv4-adres',
628
- stringIpv6: 'Ongeldig IPv6-adres',
629
- stringEmpty: 'String mag niet leeg zijn',
630
- invalidNumber: 'Ongeldig nummer',
631
- numberMin: (min) => `Nummer moet minstens ${min} zijn`,
632
- numberMax: (max) => `Nummer mag maximaal ${max} zijn`,
633
- numberInt: 'Nummer moet een geheel getal zijn',
634
- numberPositive: 'Nummer moet positief zijn',
635
- numberNegative: 'Nummer moet negatief zijn',
636
- numberNonnegative: 'Nummer mag niet negatief zijn',
637
- numberNonpositive: 'Nummer mag niet positief zijn',
638
- numberFinite: 'Nummer moet eindig zijn',
639
- numberSafe: 'Nummer moet een veilig geheel getal zijn',
640
- numberMultipleOf: (multiple) => `Nummer moet een veelvoud van ${multiple} zijn`,
641
- invalidBoolean: 'Ongeldige boolean',
642
- invalidDate: 'Ongeldige datum',
643
- dateMin: (date) => `Datum moet na ${date.toISOString()} zijn`,
644
- dateMax: (date) => `Datum moet voor ${date.toISOString()} zijn`,
645
- invalidObject: 'Ongeldig object',
646
- unexpectedKeys: (keys) => `Onverwachte sleutels: ${keys.join(', ')}`,
647
- invalidArray: 'Ongeldige array',
648
- arrayMin: (min) => `Array moet minstens ${min} elementen bevatten`,
649
- arrayMax: (max) => `Array mag maximaal ${max} elementen bevatten`,
650
- arrayLength: (length) => `Array moet precies ${length} elementen bevatten`,
651
- arrayEmpty: 'Array mag niet leeg zijn',
652
- arrayItem: (index, error) => `Ongeldig element op index ${index}: ${error}`,
653
- objectField: (field, error) => `Ongeldig veld "${field}": ${error}`,
654
- unionNoMatch: (errors) => `Geen union-lid kwam overeen: ${errors.join(', ')}`,
655
- literalExpected: (expected, got) => `Verwachtte ${JSON.stringify(expected)}, kreeg ${JSON.stringify(got)}`,
656
- enumExpected: (values, got) => `Verwachtte een van [${values.join(', ')}], kreeg ${JSON.stringify(got)}`,
657
- expectedUndefined: 'Verwachtte undefined',
658
- neverType: 'Never type kan niet worden geparseerd'
659
- },
660
- // Polish
661
- pl: {
662
- invalidString: 'Nieprawidłowy ciąg znaków',
663
- stringMin: (min) => `Ciąg znaków musi mieć co najmniej ${min} znaków`,
664
- stringMax: (max) => `Ciąg znaków może mieć maksymalnie ${max} znaków`,
665
- stringLength: (length) => `Ciąg znaków musi mieć dokładnie ${length} znaków`,
666
- stringEmail: 'Nieprawidłowy adres e-mail',
667
- stringUrl: 'Nieprawidłowy URL',
668
- stringUuid: 'Nieprawidłowy UUID',
669
- stringRegex: 'Nieprawidłowy format',
670
- stringStartsWith: (str) => `Ciąg znaków musi zaczynać się od "${str}"`,
671
- stringEndsWith: (str) => `Ciąg znaków musi kończyć się na "${str}"`,
672
- stringIncludes: (str) => `Ciąg znaków musi zawierać "${str}"`,
673
- stringIp: 'Nieprawidłowy adres IP',
674
- stringIpv4: 'Nieprawidłowy adres IPv4',
675
- stringIpv6: 'Nieprawidłowy adres IPv6',
676
- stringEmpty: 'Ciąg znaków nie może być pusty',
677
- invalidNumber: 'Nieprawidłowa liczba',
678
- numberMin: (min) => `Liczba musi wynosić co najmniej ${min}`,
679
- numberMax: (max) => `Liczba może wynosić maksymalnie ${max}`,
680
- numberInt: 'Liczba musi być liczbą całkowitą',
681
- numberPositive: 'Liczba musi być dodatnia',
682
- numberNegative: 'Liczba musi być ujemna',
683
- numberNonnegative: 'Liczba nie może być ujemna',
684
- numberNonpositive: 'Liczba nie może być dodatnia',
685
- numberFinite: 'Liczba musi być skończona',
686
- numberSafe: 'Liczba musi być bezpieczną liczbą całkowitą',
687
- numberMultipleOf: (multiple) => `Liczba musi być wielokrotnością ${multiple}`,
688
- invalidBoolean: 'Nieprawidłowa wartość logiczna',
689
- invalidDate: 'Nieprawidłowa data',
690
- dateMin: (date) => `Data musi być po ${date.toISOString()}`,
691
- dateMax: (date) => `Data musi być przed ${date.toISOString()}`,
692
- invalidObject: 'Nieprawidłowy obiekt',
693
- unexpectedKeys: (keys) => `Nieoczekiwane klucze: ${keys.join(', ')}`,
694
- invalidArray: 'Nieprawidłowa tablica',
695
- arrayMin: (min) => `Tablica musi mieć co najmniej ${min} elementów`,
696
- arrayMax: (max) => `Tablica może mieć maksymalnie ${max} elementów`,
697
- arrayLength: (length) => `Tablica musi mieć dokładnie ${length} elementów`,
698
- arrayEmpty: 'Tablica nie może być pusta',
699
- arrayItem: (index, error) => `Nieprawidłowy element o indeksie ${index}: ${error}`,
700
- objectField: (field, error) => `Nieprawidłowe pole "${field}": ${error}`,
701
- unionNoMatch: (errors) => `Żaden członek unii nie pasuje: ${errors.join(', ')}`,
702
- literalExpected: (expected, got) => `Oczekiwano ${JSON.stringify(expected)}, otrzymano ${JSON.stringify(got)}`,
703
- enumExpected: (values, got) => `Oczekiwano jednej z [${values.join(', ')}], otrzymano ${JSON.stringify(got)}`,
704
- expectedUndefined: 'Oczekiwano undefined',
705
- neverType: 'Typ never nie może być analizowany'
706
- }
707
- };
708
- // Global locale state
709
- let currentLocale = 'en';
710
- // Set locale
711
- export function setLocale(locale) {
712
- if (locales[locale]) {
713
- currentLocale = locale;
714
- }
715
- else {
716
- throw new Error(`Unsupported locale: ${locale}`);
717
- }
718
- }
719
- // Get current locale
720
- export function getLocale() {
721
- return currentLocale;
722
- }
723
- // Get messages for current locale
724
- export function getMessages() {
725
- return locales[currentLocale];
726
- }
727
- // Get message for specific locale
728
- export function getMessagesForLocale(locale) {
729
- return locales[locale] || locales.en;
730
- }
731
- export default locales;
732
- //# sourceMappingURL=locales.js.map