@oxog/vld 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +113 -0
- package/LICENSE +21 -0
- package/README.md +776 -0
- package/dist/errors.d.ts +49 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +144 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +275 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1170 -0
- package/dist/index.js.map +1 -0
- package/dist/locales/af.d.ts +3 -0
- package/dist/locales/af.d.ts.map +1 -0
- package/dist/locales/af.js +74 -0
- package/dist/locales/af.js.map +1 -0
- package/dist/locales/ar.d.ts +3 -0
- package/dist/locales/ar.d.ts.map +1 -0
- package/dist/locales/ar.js +74 -0
- package/dist/locales/ar.js.map +1 -0
- package/dist/locales/bn.d.ts +3 -0
- package/dist/locales/bn.d.ts.map +1 -0
- package/dist/locales/bn.js +74 -0
- package/dist/locales/bn.js.map +1 -0
- package/dist/locales/da.d.ts +3 -0
- package/dist/locales/da.d.ts.map +1 -0
- package/dist/locales/da.js +74 -0
- package/dist/locales/da.js.map +1 -0
- package/dist/locales/de.d.ts +3 -0
- package/dist/locales/de.d.ts.map +1 -0
- package/dist/locales/de.js +74 -0
- package/dist/locales/de.js.map +1 -0
- package/dist/locales/en.d.ts +3 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/en.js +74 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/es-MX.d.ts +3 -0
- package/dist/locales/es-MX.d.ts.map +1 -0
- package/dist/locales/es-MX.js +74 -0
- package/dist/locales/es-MX.js.map +1 -0
- package/dist/locales/es.d.ts +3 -0
- package/dist/locales/es.d.ts.map +1 -0
- package/dist/locales/es.js +62 -0
- package/dist/locales/es.js.map +1 -0
- package/dist/locales/fi.d.ts +3 -0
- package/dist/locales/fi.d.ts.map +1 -0
- package/dist/locales/fi.js +74 -0
- package/dist/locales/fi.js.map +1 -0
- package/dist/locales/fr.d.ts +3 -0
- package/dist/locales/fr.d.ts.map +1 -0
- package/dist/locales/fr.js +62 -0
- package/dist/locales/fr.js.map +1 -0
- package/dist/locales/hi.d.ts +3 -0
- package/dist/locales/hi.d.ts.map +1 -0
- package/dist/locales/hi.js +74 -0
- package/dist/locales/hi.js.map +1 -0
- package/dist/locales/id.d.ts +3 -0
- package/dist/locales/id.d.ts.map +1 -0
- package/dist/locales/id.js +74 -0
- package/dist/locales/id.js.map +1 -0
- package/dist/locales/index.d.ts +19 -0
- package/dist/locales/index.d.ts.map +1 -0
- package/dist/locales/index.js +91 -0
- package/dist/locales/index.js.map +1 -0
- package/dist/locales/it.d.ts +3 -0
- package/dist/locales/it.d.ts.map +1 -0
- package/dist/locales/it.js +74 -0
- package/dist/locales/it.js.map +1 -0
- package/dist/locales/ja.d.ts +3 -0
- package/dist/locales/ja.d.ts.map +1 -0
- package/dist/locales/ja.js +74 -0
- package/dist/locales/ja.js.map +1 -0
- package/dist/locales/ko.d.ts +3 -0
- package/dist/locales/ko.d.ts.map +1 -0
- package/dist/locales/ko.js +74 -0
- package/dist/locales/ko.js.map +1 -0
- package/dist/locales/nl.d.ts +3 -0
- package/dist/locales/nl.d.ts.map +1 -0
- package/dist/locales/nl.js +74 -0
- package/dist/locales/nl.js.map +1 -0
- package/dist/locales/no.d.ts +3 -0
- package/dist/locales/no.d.ts.map +1 -0
- package/dist/locales/no.js +74 -0
- package/dist/locales/no.js.map +1 -0
- package/dist/locales/pl.d.ts +3 -0
- package/dist/locales/pl.d.ts.map +1 -0
- package/dist/locales/pl.js +74 -0
- package/dist/locales/pl.js.map +1 -0
- package/dist/locales/pt-BR.d.ts +3 -0
- package/dist/locales/pt-BR.d.ts.map +1 -0
- package/dist/locales/pt-BR.js +74 -0
- package/dist/locales/pt-BR.js.map +1 -0
- package/dist/locales/pt.d.ts +3 -0
- package/dist/locales/pt.d.ts.map +1 -0
- package/dist/locales/pt.js +74 -0
- package/dist/locales/pt.js.map +1 -0
- package/dist/locales/ru.d.ts +3 -0
- package/dist/locales/ru.d.ts.map +1 -0
- package/dist/locales/ru.js +74 -0
- package/dist/locales/ru.js.map +1 -0
- package/dist/locales/sv.d.ts +3 -0
- package/dist/locales/sv.d.ts.map +1 -0
- package/dist/locales/sv.js +74 -0
- package/dist/locales/sv.js.map +1 -0
- package/dist/locales/sw.d.ts +3 -0
- package/dist/locales/sw.d.ts.map +1 -0
- package/dist/locales/sw.js +74 -0
- package/dist/locales/sw.js.map +1 -0
- package/dist/locales/th.d.ts +3 -0
- package/dist/locales/th.d.ts.map +1 -0
- package/dist/locales/th.js +74 -0
- package/dist/locales/th.js.map +1 -0
- package/dist/locales/tr.d.ts +3 -0
- package/dist/locales/tr.d.ts.map +1 -0
- package/dist/locales/tr.js +74 -0
- package/dist/locales/tr.js.map +1 -0
- package/dist/locales/types.d.ts +60 -0
- package/dist/locales/types.d.ts.map +1 -0
- package/dist/locales/types.js +2 -0
- package/dist/locales/types.js.map +1 -0
- package/dist/locales/vi.d.ts +3 -0
- package/dist/locales/vi.d.ts.map +1 -0
- package/dist/locales/vi.js +74 -0
- package/dist/locales/vi.js.map +1 -0
- package/dist/locales/zh.d.ts +3 -0
- package/dist/locales/zh.d.ts.map +1 -0
- package/dist/locales/zh.js +74 -0
- package/dist/locales/zh.js.map +1 -0
- package/dist/locales.d.ts +54 -0
- package/dist/locales.d.ts.map +1 -0
- package/dist/locales.js +732 -0
- package/dist/locales.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vi.js","sourceRoot":"","sources":["../../src/locales/vi.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAmB;IAChC,6BAA6B;IAC7B,aAAa,EAAE,oBAAoB;IACnC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,yBAAyB,GAAG,QAAQ;IAChE,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,wBAAwB,GAAG,QAAQ;IAC/D,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,2BAA2B,MAAM,QAAQ;IAC3E,WAAW,EAAE,4BAA4B;IACzC,SAAS,EAAE,kBAAkB;IAC7B,UAAU,EAAE,mBAAmB;IAC/B,WAAW,EAAE,wBAAwB;IACrC,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,4BAA4B,MAAM,GAAG;IAC3E,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,6BAA6B,MAAM,GAAG;IAC1E,cAAc,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,oBAAoB,SAAS,GAAG;IACvE,QAAQ,EAAE,yBAAyB;IACnC,UAAU,EAAE,2BAA2B;IACvC,UAAU,EAAE,2BAA2B;IACvC,WAAW,EAAE,2BAA2B;IAExC,6BAA6B;IAC7B,aAAa,EAAE,iBAAiB;IAChC,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,sBAAsB,GAAG,EAAE;IACvD,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,0BAA0B,GAAG,EAAE;IAC3D,SAAS,EAAE,sBAAsB;IACjC,cAAc,EAAE,qBAAqB;IACrC,cAAc,EAAE,kBAAkB;IAClC,iBAAiB,EAAE,wBAAwB;IAC3C,iBAAiB,EAAE,2BAA2B;IAC9C,YAAY,EAAE,uBAAuB;IACrC,UAAU,EAAE,8BAA8B;IAC1C,gBAAgB,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,yBAAyB,KAAK,EAAE;IAErE,8BAA8B;IAC9B,cAAc,EAAE,8BAA8B;IAE9C,2BAA2B;IAC3B,WAAW,EAAE,mBAAmB;IAChC,OAAO,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,EAAE;IAC9D,OAAO,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,mBAAmB,IAAI,CAAC,WAAW,EAAE,EAAE;IAEhE,6BAA6B;IAC7B,aAAa,EAAE,wBAAwB;IACvC,cAAc,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAE9E,4BAA4B;IAC5B,YAAY,EAAE,mBAAmB;IACjC,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,wBAAwB,GAAG,UAAU;IAChE,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,uBAAuB,GAAG,UAAU;IAC/D,WAAW,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,0BAA0B,MAAM,UAAU;IAC3E,UAAU,EAAE,0BAA0B;IACtC,SAAS,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,mCAAmC,KAAK,KAAK,KAAK,EAAE;IAEjG,0BAA0B;IAC1B,WAAW,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,WAAW,KAAK,mBAAmB,KAAK,EAAE;IAEzF,4BAA4B;IAC5B,YAAY,EAAE,CAAC,MAAgB,EAAE,EAAE,CAAC,uCAAuC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAE9F,mCAAmC;IACnC,iBAAiB,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,mCAAmC,KAAK,EAAE;IAEhF,8BAA8B;IAC9B,eAAe,EAAE,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAE,CAAC,YAAY,QAAQ,eAAe,QAAQ,EAAE;IAEtG,2BAA2B;IAC3B,YAAY,EAAE,CAAC,MAAa,EAAE,QAAgB,EAAE,EAAE,CAAC,uBAAuB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,QAAQ,EAAE;IAErH,mCAAmC;IACnC,iBAAiB,EAAE,oBAAoB;IACvC,SAAS,EAAE,gCAAgC;IAE3C,wCAAwC;IACxC,aAAa,EAAE,qBAAqB;IACpC,aAAa,EAAE,sBAAsB;IACrC,YAAY,EAAE,oBAAoB;IAClC,WAAW,EAAE,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAE,CAAC,2BAA2B,QAAQ,uBAAuB,QAAQ,EAAE;IACzH,aAAa,EAAE,qBAAqB;IACpC,UAAU,EAAE,kBAAkB;IAC9B,UAAU,EAAE,kBAAkB;IAE9B,yCAAyC;IACzC,cAAc,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,sBAAsB,KAAK,EAAE;IAChE,eAAe,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,sBAAsB,KAAK,EAAE;IACjE,qBAAqB,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,gCAAgC,KAAK,EAAE;IAEjF,oBAAoB;IACpB,cAAc,EAAE,CAAC,IAAY,EAAE,KAAc,EAAE,EAAE,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE;CAC7G,CAAC","sourcesContent":["import { LocaleMessages } from './types';\n\nexport const vi: LocaleMessages = {\n // String validation messages\n invalidString: 'Chuỗi không hợp lệ',\n stringMin: (min: number) => `Chuỗi phải có ít nhất ${min} ký tự`,\n stringMax: (max: number) => `Chuỗi không được quá ${max} ký tự`,\n stringLength: (length: number) => `Chuỗi phải có chính xác ${length} ký tự`,\n stringEmail: 'Địa chỉ email không hợp lệ',\n stringUrl: 'URL không hợp lệ',\n stringUuid: 'UUID không hợp lệ',\n stringRegex: 'Định dạng không hợp lệ',\n stringStartsWith: (prefix: string) => `Chuỗi phải bắt đầu bằng \"${prefix}\"`,\n stringEndsWith: (suffix: string) => `Chuỗi phải kết thúc bằng \"${suffix}\"`,\n stringIncludes: (substring: string) => `Chuỗi phải chứa \"${substring}\"`,\n stringIp: 'Địa chỉ IP không hợp lệ',\n stringIpv4: 'Địa chỉ IPv4 không hợp lệ',\n stringIpv6: 'Địa chỉ IPv6 không hợp lệ',\n stringEmpty: 'Chuỗi không được để trống',\n\n // Number validation messages\n invalidNumber: 'Số không hợp lệ',\n numberMin: (min: number) => `Số phải ít nhất là ${min}`,\n numberMax: (max: number) => `Số không được vượt quá ${max}`,\n numberInt: 'Số phải là số nguyên',\n numberPositive: 'Số phải là số dương',\n numberNegative: 'Số phải là số âm',\n numberNonnegative: 'Số không được là số âm',\n numberNonpositive: 'Số không được là số dương',\n numberFinite: 'Số phải là số hữu hạn',\n numberSafe: 'Số phải là số nguyên an toàn',\n numberMultipleOf: (value: number) => `Số phải là bội số của ${value}`,\n\n // Boolean validation messages\n invalidBoolean: 'Giá trị boolean không hợp lệ',\n\n // Date validation messages\n invalidDate: 'Ngày không hợp lệ',\n dateMin: (date: Date) => `Ngày phải sau ${date.toISOString()}`,\n dateMax: (date: Date) => `Ngày phải trước ${date.toISOString()}`,\n\n // Object validation messages\n invalidObject: 'Đối tượng không hợp lệ',\n unexpectedKeys: (keys: string[]) => `Khóa không mong muốn: ${keys.join(', ')}`,\n\n // Array validation messages\n invalidArray: 'Mảng không hợp lệ',\n arrayMin: (min: number) => `Mảng phải có ít nhất ${min} phần tử`,\n arrayMax: (max: number) => `Mảng không được quá ${max} phần tử`,\n arrayLength: (length: number) => `Mảng phải có chính xác ${length} phần tử`,\n arrayEmpty: 'Mảng không được để trống',\n arrayItem: (index: number, error: string) => `Phần tử không hợp lệ tại vị trí ${index}: ${error}`,\n\n // Object field validation\n objectField: (field: string, error: string) => `Trường \"${field}\" không hợp lệ: ${error}`,\n\n // Union validation messages\n unionNoMatch: (errors: string[]) => `Không có thành viên union nào khớp: ${errors.join(', ')}`,\n\n // Intersection validation messages\n intersectionError: (error: string) => `Xác thực intersection thất bại: ${error}`,\n\n // Literal validation messages\n literalExpected: (expected: string, received: string) => `Mong đợi ${expected}, nhận được ${received}`,\n\n // Enum validation messages\n enumExpected: (values: any[], received: string) => `Mong đợi một trong [${values.join(', ')}], nhận được ${received}`,\n\n // Special type validation messages\n expectedUndefined: 'Mong đợi undefined',\n neverType: 'Không thể phân tích kiểu never',\n\n // New advanced type validation messages\n invalidBigint: 'Bigint không hợp lệ',\n invalidSymbol: 'Ký hiệu không hợp lệ',\n invalidTuple: 'Tuple không hợp lệ',\n tupleLength: (expected: number, received: number) => `Tuple phải có chính xác ${expected} phần tử, nhận được ${received}`,\n invalidRecord: 'Record không hợp lệ',\n invalidSet: 'Set không hợp lệ',\n invalidMap: 'Map không hợp lệ',\n \n // Transformation and refinement messages\n transformError: (error: string) => `Biến đổi thất bại: ${error}`,\n refinementError: (error: string) => `Tinh chế thất bại: ${error}`,\n customValidationError: (error: string) => `Xác thực tùy chỉnh thất bại: ${error}`,\n \n // Coercion messages\n coercionFailed: (type: string, value: unknown) => `Không thể ép kiểu ${JSON.stringify(value)} thành ${type}`\n};"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../src/locales/zh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,EAAE,EAAE,cAsFhB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export const zh = {
|
|
2
|
+
// String validation messages
|
|
3
|
+
invalidString: '无效字符串',
|
|
4
|
+
stringMin: (min) => `字符串必须至少${min}个字符`,
|
|
5
|
+
stringMax: (max) => `字符串不能超过${max}个字符`,
|
|
6
|
+
stringLength: (length) => `字符串必须正好${length}个字符`,
|
|
7
|
+
stringEmail: '无效邮箱地址',
|
|
8
|
+
stringUrl: '无效URL',
|
|
9
|
+
stringUuid: '无效UUID',
|
|
10
|
+
stringRegex: '无效格式',
|
|
11
|
+
stringStartsWith: (prefix) => `字符串必须以"${prefix}"开头`,
|
|
12
|
+
stringEndsWith: (suffix) => `字符串必须以"${suffix}"结尾`,
|
|
13
|
+
stringIncludes: (substring) => `字符串必须包含"${substring}"`,
|
|
14
|
+
stringIp: '无效IP地址',
|
|
15
|
+
stringIpv4: '无效IPv4地址',
|
|
16
|
+
stringIpv6: '无效IPv6地址',
|
|
17
|
+
stringEmpty: '字符串不能为空',
|
|
18
|
+
// Number validation messages
|
|
19
|
+
invalidNumber: '无效数字',
|
|
20
|
+
numberMin: (min) => `数字必须至少为${min}`,
|
|
21
|
+
numberMax: (max) => `数字不能大于${max}`,
|
|
22
|
+
numberInt: '数字必须是整数',
|
|
23
|
+
numberPositive: '数字必须是正数',
|
|
24
|
+
numberNegative: '数字必须是负数',
|
|
25
|
+
numberNonnegative: '数字不能是负数',
|
|
26
|
+
numberNonpositive: '数字不能是正数',
|
|
27
|
+
numberFinite: '数字必须是有限的',
|
|
28
|
+
numberSafe: '数字必须是安全整数',
|
|
29
|
+
numberMultipleOf: (value) => `数字必须是${value}的倍数`,
|
|
30
|
+
// Boolean validation messages
|
|
31
|
+
invalidBoolean: '无效布尔值',
|
|
32
|
+
// Date validation messages
|
|
33
|
+
invalidDate: '无效日期',
|
|
34
|
+
dateMin: (date) => `日期必须在${date.toISOString()}之后`,
|
|
35
|
+
dateMax: (date) => `日期必须在${date.toISOString()}之前`,
|
|
36
|
+
// Object validation messages
|
|
37
|
+
invalidObject: '无效对象',
|
|
38
|
+
unexpectedKeys: (keys) => `意外的键: ${keys.join(', ')}`,
|
|
39
|
+
// Array validation messages
|
|
40
|
+
invalidArray: '无效数组',
|
|
41
|
+
arrayMin: (min) => `数组必须至少有${min}个元素`,
|
|
42
|
+
arrayMax: (max) => `数组不能超过${max}个元素`,
|
|
43
|
+
arrayLength: (length) => `数组必须正好有${length}个元素`,
|
|
44
|
+
arrayEmpty: '数组不能为空',
|
|
45
|
+
arrayItem: (index, error) => `索引${index}处的无效元素: ${error}`,
|
|
46
|
+
// Object field validation
|
|
47
|
+
objectField: (field, error) => `无效字段"${field}": ${error}`,
|
|
48
|
+
// Union validation messages
|
|
49
|
+
unionNoMatch: (errors) => `没有匹配的联合成员: ${errors.join(', ')}`,
|
|
50
|
+
// Intersection validation messages
|
|
51
|
+
intersectionError: (error) => `交集验证失败: ${error}`,
|
|
52
|
+
// Literal validation messages
|
|
53
|
+
literalExpected: (expected, received) => `期望${expected},得到${received}`,
|
|
54
|
+
// Enum validation messages
|
|
55
|
+
enumExpected: (values, received) => `期望[${values.join(', ')}]中的一个,得到${received}`,
|
|
56
|
+
// Special type validation messages
|
|
57
|
+
expectedUndefined: '期望undefined',
|
|
58
|
+
neverType: 'never类型无法解析',
|
|
59
|
+
// New advanced type validation messages
|
|
60
|
+
invalidBigint: '无效bigint',
|
|
61
|
+
invalidSymbol: '无效符号',
|
|
62
|
+
invalidTuple: '无效元组',
|
|
63
|
+
tupleLength: (expected, received) => `元组必须正好有${expected}个元素,得到${received}个`,
|
|
64
|
+
invalidRecord: '无效记录',
|
|
65
|
+
invalidSet: '无效Set',
|
|
66
|
+
invalidMap: '无效Map',
|
|
67
|
+
// Transformation and refinement messages
|
|
68
|
+
transformError: (error) => `转换失败: ${error}`,
|
|
69
|
+
refinementError: (error) => `细化失败: ${error}`,
|
|
70
|
+
customValidationError: (error) => `自定义验证失败: ${error}`,
|
|
71
|
+
// Coercion messages
|
|
72
|
+
coercionFailed: (type, value) => `无法将${JSON.stringify(value)}强制转换为${type}`
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=zh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zh.js","sourceRoot":"","sources":["../../src/locales/zh.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,EAAE,GAAmB;IAChC,6BAA6B;IAC7B,aAAa,EAAE,OAAO;IACtB,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK;IAC9C,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK;IAC9C,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,MAAM,KAAK;IACvD,WAAW,EAAE,QAAQ;IACrB,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE,QAAQ;IACpB,WAAW,EAAE,MAAM;IACnB,gBAAgB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,MAAM,KAAK;IAC3D,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,MAAM,KAAK;IACzD,cAAc,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,WAAW,SAAS,GAAG;IAC9D,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,WAAW,EAAE,SAAS;IAEtB,6BAA6B;IAC7B,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE;IAC3C,SAAS,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE;IAC1C,SAAS,EAAE,SAAS;IACpB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,iBAAiB,EAAE,SAAS;IAC5B,iBAAiB,EAAE,SAAS;IAC5B,YAAY,EAAE,UAAU;IACxB,UAAU,EAAE,WAAW;IACvB,gBAAgB,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,KAAK,KAAK;IAEvD,8BAA8B;IAC9B,cAAc,EAAE,OAAO;IAEvB,2BAA2B;IAC3B,WAAW,EAAE,MAAM;IACnB,OAAO,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,IAAI;IACvD,OAAO,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,IAAI;IAEvD,6BAA6B;IAC7B,aAAa,EAAE,MAAM;IACrB,cAAc,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAE9D,4BAA4B;IAC5B,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,GAAG,KAAK;IAC7C,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,SAAS,GAAG,KAAK;IAC5C,WAAW,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,UAAU,MAAM,KAAK;IACtD,UAAU,EAAE,QAAQ;IACpB,SAAS,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,WAAW,KAAK,EAAE;IAEzE,0BAA0B;IAC1B,WAAW,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,QAAQ,KAAK,MAAM,KAAK,EAAE;IAEzE,4BAA4B;IAC5B,YAAY,EAAE,CAAC,MAAgB,EAAE,EAAE,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAErE,mCAAmC;IACnC,iBAAiB,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,WAAW,KAAK,EAAE;IAExD,8BAA8B;IAC9B,eAAe,EAAE,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAE,CAAC,KAAK,QAAQ,MAAM,QAAQ,EAAE;IAEtF,2BAA2B;IAC3B,YAAY,EAAE,CAAC,MAAa,EAAE,QAAgB,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,QAAQ,EAAE;IAE/F,mCAAmC;IACnC,iBAAiB,EAAE,aAAa;IAChC,SAAS,EAAE,aAAa;IAExB,wCAAwC;IACxC,aAAa,EAAE,UAAU;IACzB,aAAa,EAAE,MAAM;IACrB,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,CAAC,QAAgB,EAAE,QAAgB,EAAE,EAAE,CAAC,UAAU,QAAQ,SAAS,QAAQ,GAAG;IAC3F,aAAa,EAAE,MAAM;IACrB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;IAEnB,yCAAyC;IACzC,cAAc,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE;IACnD,eAAe,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE;IACpD,qBAAqB,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,YAAY,KAAK,EAAE;IAE7D,oBAAoB;IACpB,cAAc,EAAE,CAAC,IAAY,EAAE,KAAc,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE;CAC5F,CAAC","sourcesContent":["import { LocaleMessages } from './types';\n\nexport const zh: LocaleMessages = {\n // String validation messages\n invalidString: '无效字符串',\n stringMin: (min: number) => `字符串必须至少${min}个字符`,\n stringMax: (max: number) => `字符串不能超过${max}个字符`,\n stringLength: (length: number) => `字符串必须正好${length}个字符`,\n stringEmail: '无效邮箱地址',\n stringUrl: '无效URL',\n stringUuid: '无效UUID',\n stringRegex: '无效格式',\n stringStartsWith: (prefix: string) => `字符串必须以\"${prefix}\"开头`,\n stringEndsWith: (suffix: string) => `字符串必须以\"${suffix}\"结尾`,\n stringIncludes: (substring: string) => `字符串必须包含\"${substring}\"`,\n stringIp: '无效IP地址',\n stringIpv4: '无效IPv4地址',\n stringIpv6: '无效IPv6地址',\n stringEmpty: '字符串不能为空',\n\n // Number validation messages\n invalidNumber: '无效数字',\n numberMin: (min: number) => `数字必须至少为${min}`,\n numberMax: (max: number) => `数字不能大于${max}`,\n numberInt: '数字必须是整数',\n numberPositive: '数字必须是正数',\n numberNegative: '数字必须是负数',\n numberNonnegative: '数字不能是负数',\n numberNonpositive: '数字不能是正数',\n numberFinite: '数字必须是有限的',\n numberSafe: '数字必须是安全整数',\n numberMultipleOf: (value: number) => `数字必须是${value}的倍数`,\n\n // Boolean validation messages\n invalidBoolean: '无效布尔值',\n\n // Date validation messages\n invalidDate: '无效日期',\n dateMin: (date: Date) => `日期必须在${date.toISOString()}之后`,\n dateMax: (date: Date) => `日期必须在${date.toISOString()}之前`,\n\n // Object validation messages\n invalidObject: '无效对象',\n unexpectedKeys: (keys: string[]) => `意外的键: ${keys.join(', ')}`,\n\n // Array validation messages\n invalidArray: '无效数组',\n arrayMin: (min: number) => `数组必须至少有${min}个元素`,\n arrayMax: (max: number) => `数组不能超过${max}个元素`,\n arrayLength: (length: number) => `数组必须正好有${length}个元素`,\n arrayEmpty: '数组不能为空',\n arrayItem: (index: number, error: string) => `索引${index}处的无效元素: ${error}`,\n\n // Object field validation\n objectField: (field: string, error: string) => `无效字段\"${field}\": ${error}`,\n\n // Union validation messages\n unionNoMatch: (errors: string[]) => `没有匹配的联合成员: ${errors.join(', ')}`,\n\n // Intersection validation messages\n intersectionError: (error: string) => `交集验证失败: ${error}`,\n\n // Literal validation messages\n literalExpected: (expected: string, received: string) => `期望${expected},得到${received}`,\n\n // Enum validation messages\n enumExpected: (values: any[], received: string) => `期望[${values.join(', ')}]中的一个,得到${received}`,\n\n // Special type validation messages\n expectedUndefined: '期望undefined',\n neverType: 'never类型无法解析',\n\n // New advanced type validation messages\n invalidBigint: '无效bigint',\n invalidSymbol: '无效符号',\n invalidTuple: '无效元组',\n tupleLength: (expected: number, received: number) => `元组必须正好有${expected}个元素,得到${received}个`,\n invalidRecord: '无效记录',\n invalidSet: '无效Set',\n invalidMap: '无效Map',\n \n // Transformation and refinement messages\n transformError: (error: string) => `转换失败: ${error}`,\n refinementError: (error: string) => `细化失败: ${error}`,\n customValidationError: (error: string) => `自定义验证失败: ${error}`,\n \n // Coercion messages\n coercionFailed: (type: string, value: unknown) => `无法将${JSON.stringify(value)}强制转换为${type}`\n};"]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export type Locale = 'en' | 'tr' | 'es' | 'fr' | 'de' | 'it' | 'pt' | 'ru' | 'ja' | 'ko' | 'zh' | 'ar' | 'hi' | 'nl' | 'pl';
|
|
2
|
+
export interface LocaleMessages {
|
|
3
|
+
invalidString: string;
|
|
4
|
+
stringMin: (min: number) => string;
|
|
5
|
+
stringMax: (max: number) => string;
|
|
6
|
+
stringLength: (length: number) => string;
|
|
7
|
+
stringEmail: string;
|
|
8
|
+
stringUrl: string;
|
|
9
|
+
stringUuid: string;
|
|
10
|
+
stringRegex: string;
|
|
11
|
+
stringStartsWith: (str: string) => string;
|
|
12
|
+
stringEndsWith: (str: string) => string;
|
|
13
|
+
stringIncludes: (str: string) => string;
|
|
14
|
+
stringIp: string;
|
|
15
|
+
stringIpv4: string;
|
|
16
|
+
stringIpv6: string;
|
|
17
|
+
stringEmpty: string;
|
|
18
|
+
invalidNumber: string;
|
|
19
|
+
numberMin: (min: number) => string;
|
|
20
|
+
numberMax: (max: number) => string;
|
|
21
|
+
numberInt: string;
|
|
22
|
+
numberPositive: string;
|
|
23
|
+
numberNegative: string;
|
|
24
|
+
numberNonnegative: string;
|
|
25
|
+
numberNonpositive: string;
|
|
26
|
+
numberFinite: string;
|
|
27
|
+
numberSafe: string;
|
|
28
|
+
numberMultipleOf: (multiple: number) => string;
|
|
29
|
+
invalidBoolean: string;
|
|
30
|
+
invalidDate: string;
|
|
31
|
+
dateMin: (date: Date) => string;
|
|
32
|
+
dateMax: (date: Date) => string;
|
|
33
|
+
invalidObject: string;
|
|
34
|
+
unexpectedKeys: (keys: string[]) => string;
|
|
35
|
+
invalidArray: string;
|
|
36
|
+
arrayMin: (min: number) => string;
|
|
37
|
+
arrayMax: (max: number) => string;
|
|
38
|
+
arrayLength: (length: number) => string;
|
|
39
|
+
arrayEmpty: string;
|
|
40
|
+
arrayItem: (index: number, error: string) => string;
|
|
41
|
+
objectField: (field: string, error: string) => string;
|
|
42
|
+
unionNoMatch: (errors: string[]) => string;
|
|
43
|
+
literalExpected: (expected: any, got: any) => string;
|
|
44
|
+
enumExpected: (values: any[], got: any) => string;
|
|
45
|
+
expectedUndefined: string;
|
|
46
|
+
neverType: string;
|
|
47
|
+
}
|
|
48
|
+
declare const locales: Record<Locale, LocaleMessages>;
|
|
49
|
+
export declare function setLocale(locale: Locale): void;
|
|
50
|
+
export declare function getLocale(): Locale;
|
|
51
|
+
export declare function getMessages(): LocaleMessages;
|
|
52
|
+
export declare function getMessagesForLocale(locale: Locale): LocaleMessages;
|
|
53
|
+
export default locales;
|
|
54
|
+
//# sourceMappingURL=locales.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../src/locales.ts"],"names":[],"mappings":"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"}
|