@hy_ong/zod-kit 0.1.16 → 0.2.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 (225) hide show
  1. package/.github/workflows/ci.yml +24 -0
  2. package/CLAUDE.md +184 -0
  3. package/dist/chunk-36NWHESN.js +124 -0
  4. package/dist/chunk-4LYZAO3P.js +165 -0
  5. package/dist/chunk-5GAZQDVS.cjs +206 -0
  6. package/dist/chunk-5LS4DSRQ.cjs +127 -0
  7. package/dist/chunk-5OGW2ERW.js +181 -0
  8. package/dist/chunk-5ZEKWPSE.cjs +69 -0
  9. package/dist/chunk-6OGDPSWT.js +135 -0
  10. package/dist/chunk-6X22I6NQ.cjs +136 -0
  11. package/dist/chunk-77KZUPPN.cjs +177 -0
  12. package/dist/chunk-AANSHH2O.cjs +165 -0
  13. package/dist/chunk-AI72FMOF.cjs +130 -0
  14. package/dist/chunk-AWV2IT66.js +146 -0
  15. package/dist/chunk-B3U5G3AA.js +160 -0
  16. package/dist/chunk-CFFCBWYL.cjs +99 -0
  17. package/dist/chunk-DPXRMSB2.js +130 -0
  18. package/dist/chunk-DRXPGQM6.cjs +135 -0
  19. package/dist/chunk-EAU42EVH.js +161 -0
  20. package/dist/chunk-FC6VDOC7.js +206 -0
  21. package/dist/chunk-FVO4743A.cjs +134 -0
  22. package/dist/chunk-G6DV7LX7.cjs +161 -0
  23. package/dist/chunk-I2RJMDXN.js +90 -0
  24. package/dist/chunk-IJEEM3DI.js +136 -0
  25. package/dist/chunk-JBNCMS42.cjs +151 -0
  26. package/dist/chunk-JZ2SHRGZ.js +87 -0
  27. package/dist/chunk-KARFFIMP.js +696 -0
  28. package/dist/chunk-LIQSVJLS.js +177 -0
  29. package/dist/chunk-LKPXHW5N.cjs +181 -0
  30. package/dist/chunk-MAQRXYE6.js +118 -0
  31. package/dist/chunk-MCDESS3T.js +69 -0
  32. package/dist/chunk-MG25BEV4.cjs +160 -0
  33. package/dist/chunk-NKCYXBGX.js +99 -0
  34. package/dist/chunk-OEK7QSQP.js +75 -0
  35. package/dist/chunk-OMFQ7Z63.cjs +696 -0
  36. package/dist/chunk-OP4KV3BY.cjs +124 -0
  37. package/dist/chunk-P2NONIMS.js +257 -0
  38. package/dist/chunk-P364KRO5.js +61 -0
  39. package/dist/chunk-PGSDXR2I.js +71 -0
  40. package/dist/chunk-PL2GERLG.cjs +61 -0
  41. package/dist/chunk-R5G4V7C6.cjs +75 -0
  42. package/dist/chunk-RKHX3DGH.js +127 -0
  43. package/dist/chunk-TSHL7ZO2.js +134 -0
  44. package/dist/chunk-UFNVCUPQ.cjs +301 -0
  45. package/dist/chunk-VCRKYMJM.js +301 -0
  46. package/dist/chunk-VDOAPLA6.cjs +257 -0
  47. package/dist/chunk-VP5CCP5F.cjs +90 -0
  48. package/dist/chunk-W2EWMV3A.cjs +87 -0
  49. package/dist/chunk-WWRFBLCR.cjs +146 -0
  50. package/dist/chunk-YALLOVNO.cjs +118 -0
  51. package/dist/chunk-YAU6JCYL.cjs +71 -0
  52. package/dist/chunk-YWV2BBXN.cjs +2526 -0
  53. package/dist/chunk-ZBOQCXD4.js +2526 -0
  54. package/dist/chunk-ZFQQXWNB.js +151 -0
  55. package/dist/common/boolean.cjs +7 -0
  56. package/dist/common/boolean.d.cts +119 -0
  57. package/dist/common/boolean.d.ts +119 -0
  58. package/dist/common/boolean.js +7 -0
  59. package/dist/common/color.cjs +9 -0
  60. package/dist/common/color.d.cts +26 -0
  61. package/dist/common/color.d.ts +26 -0
  62. package/dist/common/color.js +9 -0
  63. package/dist/common/coordinate.cjs +11 -0
  64. package/dist/common/coordinate.d.cts +23 -0
  65. package/dist/common/coordinate.d.ts +23 -0
  66. package/dist/common/coordinate.js +11 -0
  67. package/dist/common/credit-card.cjs +11 -0
  68. package/dist/common/credit-card.d.cts +22 -0
  69. package/dist/common/credit-card.d.ts +22 -0
  70. package/dist/common/credit-card.js +11 -0
  71. package/dist/common/date.cjs +7 -0
  72. package/dist/common/date.d.cts +174 -0
  73. package/dist/common/date.d.ts +174 -0
  74. package/dist/common/date.js +7 -0
  75. package/dist/common/datetime.cjs +15 -0
  76. package/dist/common/datetime.d.cts +301 -0
  77. package/dist/common/datetime.d.ts +301 -0
  78. package/dist/common/datetime.js +15 -0
  79. package/dist/common/email.cjs +7 -0
  80. package/dist/common/email.d.cts +149 -0
  81. package/dist/common/email.d.ts +149 -0
  82. package/dist/common/email.js +7 -0
  83. package/dist/common/file.cjs +7 -0
  84. package/dist/common/file.d.cts +178 -0
  85. package/dist/common/file.d.ts +178 -0
  86. package/dist/common/file.js +7 -0
  87. package/dist/common/id.cjs +13 -0
  88. package/dist/common/id.d.cts +262 -0
  89. package/dist/common/id.d.ts +262 -0
  90. package/dist/common/id.js +13 -0
  91. package/dist/common/ip.cjs +11 -0
  92. package/dist/common/ip.d.cts +25 -0
  93. package/dist/common/ip.d.ts +25 -0
  94. package/dist/common/ip.js +11 -0
  95. package/dist/common/number.cjs +7 -0
  96. package/dist/common/number.d.cts +167 -0
  97. package/dist/common/number.d.ts +167 -0
  98. package/dist/common/number.js +7 -0
  99. package/dist/common/password.cjs +7 -0
  100. package/dist/common/password.d.cts +192 -0
  101. package/dist/common/password.d.ts +192 -0
  102. package/dist/common/password.js +7 -0
  103. package/dist/common/text.cjs +7 -0
  104. package/dist/common/text.d.cts +156 -0
  105. package/dist/common/text.d.ts +156 -0
  106. package/dist/common/text.js +7 -0
  107. package/dist/common/time.cjs +15 -0
  108. package/dist/common/time.d.cts +268 -0
  109. package/dist/common/time.d.ts +268 -0
  110. package/dist/common/time.js +15 -0
  111. package/dist/common/url.cjs +7 -0
  112. package/dist/common/url.d.cts +196 -0
  113. package/dist/common/url.d.ts +196 -0
  114. package/dist/common/url.js +7 -0
  115. package/dist/config-CABSSvAp.d.cts +5 -0
  116. package/dist/config-CABSSvAp.d.ts +5 -0
  117. package/dist/index.cjs +180 -3599
  118. package/dist/index.d.cts +28 -3150
  119. package/dist/index.d.ts +28 -3150
  120. package/dist/index.js +135 -3475
  121. package/dist/taiwan/bank-account.cjs +11 -0
  122. package/dist/taiwan/bank-account.d.cts +22 -0
  123. package/dist/taiwan/bank-account.d.ts +22 -0
  124. package/dist/taiwan/bank-account.js +11 -0
  125. package/dist/taiwan/business-id.cjs +9 -0
  126. package/dist/taiwan/business-id.d.cts +133 -0
  127. package/dist/taiwan/business-id.d.ts +133 -0
  128. package/dist/taiwan/business-id.js +9 -0
  129. package/dist/taiwan/fax.cjs +9 -0
  130. package/dist/taiwan/fax.d.cts +157 -0
  131. package/dist/taiwan/fax.d.ts +157 -0
  132. package/dist/taiwan/fax.js +9 -0
  133. package/dist/taiwan/invoice.cjs +9 -0
  134. package/dist/taiwan/invoice.d.cts +17 -0
  135. package/dist/taiwan/invoice.d.ts +17 -0
  136. package/dist/taiwan/invoice.js +9 -0
  137. package/dist/taiwan/license-plate.cjs +9 -0
  138. package/dist/taiwan/license-plate.d.cts +19 -0
  139. package/dist/taiwan/license-plate.d.ts +19 -0
  140. package/dist/taiwan/license-plate.js +9 -0
  141. package/dist/taiwan/mobile.cjs +9 -0
  142. package/dist/taiwan/mobile.d.cts +146 -0
  143. package/dist/taiwan/mobile.d.ts +146 -0
  144. package/dist/taiwan/mobile.js +9 -0
  145. package/dist/taiwan/national-id.cjs +15 -0
  146. package/dist/taiwan/national-id.d.cts +214 -0
  147. package/dist/taiwan/national-id.d.ts +214 -0
  148. package/dist/taiwan/national-id.js +15 -0
  149. package/dist/taiwan/passport.cjs +9 -0
  150. package/dist/taiwan/passport.d.cts +19 -0
  151. package/dist/taiwan/passport.d.ts +19 -0
  152. package/dist/taiwan/passport.js +9 -0
  153. package/dist/taiwan/postal-code.cjs +17 -0
  154. package/dist/taiwan/postal-code.d.cts +237 -0
  155. package/dist/taiwan/postal-code.d.ts +237 -0
  156. package/dist/taiwan/postal-code.js +17 -0
  157. package/dist/taiwan/tel.cjs +9 -0
  158. package/dist/taiwan/tel.d.cts +162 -0
  159. package/dist/taiwan/tel.d.ts +162 -0
  160. package/dist/taiwan/tel.js +9 -0
  161. package/package.json +128 -2
  162. package/src/config.ts +2 -2
  163. package/src/i18n/index.ts +18 -2
  164. package/src/i18n/locales/en-GB.json +247 -0
  165. package/src/i18n/locales/{en.json → en-US.json} +43 -0
  166. package/src/i18n/locales/id-ID.json +247 -0
  167. package/src/i18n/locales/ja-JP.json +247 -0
  168. package/src/i18n/locales/ko-KR.json +247 -0
  169. package/src/i18n/locales/ms-MY.json +247 -0
  170. package/src/i18n/locales/th-TH.json +247 -0
  171. package/src/i18n/locales/vi-VN.json +247 -0
  172. package/src/i18n/locales/zh-CN.json +247 -0
  173. package/src/i18n/locales/zh-TW.json +43 -0
  174. package/src/index.ts +10 -2
  175. package/src/validators/common/boolean.ts +1 -1
  176. package/src/validators/common/color.ts +192 -0
  177. package/src/validators/common/coordinate.ts +159 -0
  178. package/src/validators/common/credit-card.ts +134 -0
  179. package/src/validators/common/date.ts +1 -1
  180. package/src/validators/common/datetime.ts +1 -1
  181. package/src/validators/common/email.ts +1 -1
  182. package/src/validators/common/file.ts +1 -1
  183. package/src/validators/common/id.ts +1 -1
  184. package/src/validators/common/ip.ts +210 -0
  185. package/src/validators/common/number.ts +1 -1
  186. package/src/validators/common/password.ts +1 -1
  187. package/src/validators/common/text.ts +1 -1
  188. package/src/validators/common/time.ts +1 -1
  189. package/src/validators/common/url.ts +1 -1
  190. package/src/validators/taiwan/bank-account.ts +176 -0
  191. package/src/validators/taiwan/business-id.ts +1 -1
  192. package/src/validators/taiwan/fax.ts +1 -1
  193. package/src/validators/taiwan/invoice.ts +84 -0
  194. package/src/validators/taiwan/license-plate.ts +110 -0
  195. package/src/validators/taiwan/mobile.ts +1 -1
  196. package/src/validators/taiwan/national-id.ts +1 -1
  197. package/src/validators/taiwan/passport.ts +103 -0
  198. package/src/validators/taiwan/postal-code.ts +1 -1
  199. package/src/validators/taiwan/tel.ts +1 -1
  200. package/tests/common/boolean.test.ts +6 -6
  201. package/tests/common/color.test.ts +587 -0
  202. package/tests/common/coordinate.test.ts +345 -0
  203. package/tests/common/credit-card.test.ts +378 -0
  204. package/tests/common/date.test.ts +8 -8
  205. package/tests/common/datetime.test.ts +7 -7
  206. package/tests/common/email.test.ts +6 -6
  207. package/tests/common/file.test.ts +6 -6
  208. package/tests/common/id.test.ts +5 -5
  209. package/tests/common/ip.test.ts +419 -0
  210. package/tests/common/number.test.ts +6 -6
  211. package/tests/common/password.test.ts +5 -5
  212. package/tests/common/text.test.ts +7 -7
  213. package/tests/common/time.test.ts +7 -7
  214. package/tests/common/url.test.ts +10 -10
  215. package/tests/taiwan/bank-account.test.ts +286 -0
  216. package/tests/taiwan/business-id.test.ts +4 -4
  217. package/tests/taiwan/fax.test.ts +7 -7
  218. package/tests/taiwan/invoice.test.ts +227 -0
  219. package/tests/taiwan/license-plate.test.ts +280 -0
  220. package/tests/taiwan/mobile.test.ts +7 -7
  221. package/tests/taiwan/national-id.test.ts +4 -4
  222. package/tests/taiwan/passport.test.ts +277 -0
  223. package/tests/taiwan/postal-code.test.ts +6 -6
  224. package/tests/taiwan/tel.test.ts +7 -7
  225. package/tsup.config.ts +36 -0
@@ -0,0 +1,247 @@
1
+ {
2
+ "common": {
3
+ "boolean": {
4
+ "required": "Wajib diisi",
5
+ "shouldBeTrue": "Harus True",
6
+ "shouldBeFalse": "Harus False",
7
+ "invalid": "Harus berupa nilai boolean"
8
+ },
9
+ "email": {
10
+ "required": "Wajib diisi",
11
+ "invalid": "Format email tidak valid",
12
+ "minLength": "Harus minimal ${minLength} karakter",
13
+ "maxLength": "Harus maksimal ${maxLength} karakter",
14
+ "includes": "Harus mengandung ${includes}",
15
+ "domain": "Harus dari domain: ${domain}",
16
+ "domainBlacklist": "Domain ${domain} tidak diizinkan",
17
+ "businessOnly": "Hanya alamat email bisnis yang diizinkan",
18
+ "noDisposable": "Alamat email sekali pakai tidak diizinkan"
19
+ },
20
+ "url": {
21
+ "required": "Wajib diisi",
22
+ "invalid": "Format URL tidak valid",
23
+ "min": "Harus minimal ${min} karakter",
24
+ "max": "Harus maksimal ${max} karakter",
25
+ "includes": "Harus mengandung ${includes}",
26
+ "excludes": "Tidak boleh mengandung ${excludes}",
27
+ "protocol": "Protokol harus salah satu dari: ${protocols}",
28
+ "domain": "Domain harus salah satu dari: ${domains}",
29
+ "domainBlacklist": "Domain ${domain} tidak diizinkan",
30
+ "port": "Port harus salah satu dari: ${ports}",
31
+ "pathStartsWith": "Path harus dimulai dengan ${path}",
32
+ "pathEndsWith": "Path harus diakhiri dengan ${path}",
33
+ "hasQuery": "URL harus memiliki parameter query",
34
+ "noQuery": "URL tidak boleh memiliki parameter query",
35
+ "hasFragment": "URL harus memiliki fragmen",
36
+ "noFragment": "URL tidak boleh memiliki fragmen",
37
+ "localhost": "URL localhost tidak diizinkan",
38
+ "noLocalhost": "URL localhost tidak diizinkan"
39
+ },
40
+ "password": {
41
+ "required": "Wajib diisi",
42
+ "min": "Harus minimal ${min} karakter",
43
+ "max": "Harus maksimal ${max} karakter",
44
+ "uppercase": "Harus mengandung minimal satu huruf besar",
45
+ "lowercase": "Harus mengandung minimal satu huruf kecil",
46
+ "digits": "Harus mengandung minimal satu digit",
47
+ "special": "Harus mengandung minimal satu karakter khusus",
48
+ "noRepeating": "Tidak boleh mengandung karakter berulang",
49
+ "noSequential": "Tidak boleh mengandung karakter berurutan",
50
+ "noCommonWords": "Tidak boleh mengandung kata atau pola umum",
51
+ "minStrength": "Kekuatan kata sandi harus minimal ${minStrength}",
52
+ "excludes": "Tidak boleh mengandung ${excludes}",
53
+ "includes": "Harus mengandung ${includes}",
54
+ "invalid": "Format kata sandi tidak valid"
55
+ },
56
+ "number": {
57
+ "required": "Wajib diisi",
58
+ "invalid": "Harus berupa angka yang valid",
59
+ "integer": "Harus berupa bilangan bulat",
60
+ "float": "Harus berupa bilangan desimal",
61
+ "min": "Harus minimal ${min}",
62
+ "max": "Harus maksimal ${max}",
63
+ "positive": "Harus positif",
64
+ "negative": "Harus negatif",
65
+ "nonNegative": "Harus non-negatif",
66
+ "nonPositive": "Harus non-positif",
67
+ "multipleOf": "Harus kelipatan dari ${multipleOf}",
68
+ "finite": "Harus berupa angka terhingga",
69
+ "precision": "Harus memiliki maksimal ${precision} tempat desimal"
70
+ },
71
+ "id": {
72
+ "required": "Wajib diisi",
73
+ "invalid": "Format ID tidak valid",
74
+ "minLength": "Harus minimal ${minLength} karakter",
75
+ "maxLength": "Harus maksimal ${maxLength} karakter",
76
+ "numeric": "Harus berupa ID numerik",
77
+ "uuid": "Harus berupa UUID yang valid",
78
+ "objectId": "Harus berupa MongoDB ObjectId yang valid",
79
+ "nanoid": "Harus berupa Nano ID yang valid",
80
+ "snowflake": "Harus berupa Snowflake ID yang valid",
81
+ "cuid": "Harus berupa CUID yang valid",
82
+ "ulid": "Harus berupa ULID yang valid",
83
+ "shortid": "Harus berupa Short ID yang valid",
84
+ "customFormat": "Format ID tidak valid",
85
+ "includes": "Harus mengandung ${includes}",
86
+ "excludes": "Tidak boleh mengandung ${excludes}",
87
+ "startsWith": "Harus dimulai dengan ${startsWith}",
88
+ "endsWith": "Harus diakhiri dengan ${endsWith}"
89
+ },
90
+ "text": {
91
+ "required": "Wajib diisi",
92
+ "notEmpty": "Tidak boleh kosong atau hanya spasi",
93
+ "minLength": "Harus minimal ${minLength} karakter",
94
+ "maxLength": "Harus maksimal ${maxLength} karakter",
95
+ "startsWith": "Harus dimulai dengan ${startsWith}",
96
+ "endsWith": "Harus diakhiri dengan ${endsWith}",
97
+ "includes": "Harus mengandung ${includes}",
98
+ "excludes": "Tidak boleh mengandung ${excludes}",
99
+ "invalid": "Format tidak valid"
100
+ },
101
+ "date": {
102
+ "required": "Wajib diisi",
103
+ "invalid": "Tanggal tidak valid",
104
+ "format": "Harus dalam format ${format}",
105
+ "min": "Tanggal harus pada atau setelah ${min}",
106
+ "max": "Tanggal harus pada atau sebelum ${max}",
107
+ "includes": "Harus mengandung ${includes}",
108
+ "excludes": "Tidak boleh mengandung ${excludes}",
109
+ "past": "Tanggal harus di masa lalu",
110
+ "future": "Tanggal harus di masa depan",
111
+ "today": "Tanggal harus hari ini",
112
+ "notToday": "Tanggal tidak boleh hari ini",
113
+ "weekday": "Tanggal harus hari kerja (Senin-Jumat)",
114
+ "weekend": "Tanggal harus akhir pekan (Sabtu-Minggu)"
115
+ },
116
+ "time": {
117
+ "required": "Wajib diisi",
118
+ "invalid": "Format waktu tidak valid",
119
+ "format": "Harus dalam format ${format}",
120
+ "min": "Waktu harus setelah ${min}",
121
+ "max": "Waktu harus sebelum ${max}",
122
+ "hour": "Jam harus antara ${minHour} dan ${maxHour}",
123
+ "minute": "Menit harus dalam interval ${minuteStep} menit",
124
+ "second": "Detik harus dalam interval ${secondStep} detik",
125
+ "includes": "Harus mengandung ${includes}",
126
+ "excludes": "Tidak boleh mengandung ${excludes}",
127
+ "customRegex": "Format waktu tidak valid",
128
+ "notInWhitelist": "Waktu tidak ada dalam daftar yang diizinkan"
129
+ },
130
+ "datetime": {
131
+ "required": "Wajib diisi",
132
+ "invalid": "Format tanggal waktu tidak valid",
133
+ "format": "Harus dalam format ${format}",
134
+ "min": "Tanggal waktu harus setelah ${min}",
135
+ "max": "Tanggal waktu harus sebelum ${max}",
136
+ "hour": "Jam harus antara ${minHour} dan ${maxHour}",
137
+ "minute": "Menit harus dalam interval ${minuteStep} menit",
138
+ "includes": "Harus mengandung ${includes}",
139
+ "excludes": "Tidak boleh mengandung ${excludes}",
140
+ "past": "Tanggal waktu harus di masa lalu",
141
+ "future": "Tanggal waktu harus di masa depan",
142
+ "today": "Tanggal waktu harus hari ini",
143
+ "notToday": "Tanggal waktu tidak boleh hari ini",
144
+ "weekday": "Tanggal waktu harus hari kerja (Senin-Jumat)",
145
+ "weekend": "Tanggal waktu harus akhir pekan (Sabtu-Minggu)",
146
+ "customRegex": "Format tanggal waktu tidak valid",
147
+ "notInWhitelist": "Tanggal waktu tidak ada dalam daftar yang diizinkan"
148
+ },
149
+ "file": {
150
+ "required": "Wajib diisi",
151
+ "invalid": "Format file tidak valid",
152
+ "size": "Ukuran file tidak boleh melebihi ${size}",
153
+ "minSize": "Ukuran file harus minimal ${minSize}",
154
+ "maxSize": "Ukuran file tidak boleh melebihi ${maxSize}",
155
+ "type": "Jenis file harus salah satu dari: ${type}",
156
+ "extension": "Ekstensi file harus salah satu dari: ${extension}",
157
+ "extensionBlacklist": "Ekstensi file ${extension} tidak diizinkan",
158
+ "name": "Nama file harus sesuai pola ${pattern}",
159
+ "nameBlacklist": "Nama file tidak boleh sesuai pola ${pattern}",
160
+ "imageOnly": "Hanya file gambar yang diizinkan",
161
+ "documentOnly": "Hanya file dokumen yang diizinkan",
162
+ "videoOnly": "Hanya file video yang diizinkan",
163
+ "audioOnly": "Hanya file audio yang diizinkan",
164
+ "archiveOnly": "Hanya file arsip yang diizinkan"
165
+ },
166
+ "creditCard": {
167
+ "required": "Wajib diisi",
168
+ "invalid": "Nomor kartu kredit tidak valid",
169
+ "notInWhitelist": "Nomor kartu kredit tidak ada dalam daftar yang diizinkan"
170
+ },
171
+ "ip": {
172
+ "required": "Wajib diisi",
173
+ "invalid": "Alamat IP tidak valid",
174
+ "notIPv4": "Harus alamat IPv4 yang valid",
175
+ "notIPv6": "Harus alamat IPv6 yang valid",
176
+ "notInWhitelist": "Alamat IP tidak ada dalam daftar yang diizinkan"
177
+ },
178
+ "color": {
179
+ "required": "Wajib diisi",
180
+ "invalid": "Format warna tidak valid",
181
+ "notHex": "Harus warna hex yang valid",
182
+ "notRgb": "Harus warna RGB yang valid",
183
+ "notHsl": "Harus warna HSL yang valid"
184
+ },
185
+ "coordinate": {
186
+ "required": "Wajib diisi",
187
+ "invalid": "Koordinat tidak valid",
188
+ "invalidLatitude": "Lintang harus antara -90 dan 90",
189
+ "invalidLongitude": "Bujur harus antara -180 dan 180"
190
+ }
191
+ },
192
+ "taiwan": {
193
+ "businessId": {
194
+ "required": "Wajib diisi",
195
+ "invalid": "ID Bisnis Taiwan tidak valid"
196
+ },
197
+ "nationalId": {
198
+ "required": "Wajib diisi",
199
+ "invalid": "ID Nasional Taiwan tidak valid"
200
+ },
201
+ "mobile": {
202
+ "required": "Wajib diisi",
203
+ "invalid": "Format ponsel Taiwan tidak valid",
204
+ "notInWhitelist": "Tidak ada dalam daftar ponsel yang diizinkan"
205
+ },
206
+ "tel": {
207
+ "required": "Wajib diisi",
208
+ "invalid": "Format telepon rumah Taiwan tidak valid",
209
+ "notInWhitelist": "Tidak ada dalam daftar telepon rumah yang diizinkan"
210
+ },
211
+ "fax": {
212
+ "required": "Wajib diisi",
213
+ "invalid": "Format faks Taiwan tidak valid",
214
+ "notInWhitelist": "Tidak ada dalam daftar faks yang diizinkan"
215
+ },
216
+ "postalCode": {
217
+ "required": "Wajib diisi",
218
+ "invalid": "Kode pos Taiwan tidak valid",
219
+ "invalidFormat": "Format kode pos tidak valid",
220
+ "invalidRange": "Kode pos di luar rentang yang valid",
221
+ "legacy5DigitWarning": "Kode pos 5 digit adalah format lama, pertimbangkan untuk menggunakan format 6 digit",
222
+ "format3Only": "Hanya kode pos 3 digit yang diizinkan",
223
+ "format5Only": "Hanya kode pos 5 digit yang diizinkan",
224
+ "format6Only": "Hanya kode pos 6 digit yang diizinkan",
225
+ "invalidSuffix": "Akhiran kode pos tidak valid - harus 01-99 untuk 5 digit atau 001-999 untuk 6 digit",
226
+ "deprecated5Digit": "Kode pos 5 digit sudah tidak digunakan dan tidak lagi didukung"
227
+ },
228
+ "invoice": {
229
+ "required": "Wajib diisi",
230
+ "invalid": "Nomor faktur seragam Taiwan tidak valid"
231
+ },
232
+ "licensePlate": {
233
+ "required": "Wajib diisi",
234
+ "invalid": "Nomor pelat kendaraan Taiwan tidak valid"
235
+ },
236
+ "bankAccount": {
237
+ "required": "Wajib diisi",
238
+ "invalid": "Rekening bank Taiwan tidak valid",
239
+ "invalidBankCode": "Kode bank tidak valid",
240
+ "invalidAccountNumber": "Nomor rekening tidak valid"
241
+ },
242
+ "passport": {
243
+ "required": "Wajib diisi",
244
+ "invalid": "Nomor paspor Taiwan tidak valid"
245
+ }
246
+ }
247
+ }
@@ -0,0 +1,247 @@
1
+ {
2
+ "common": {
3
+ "boolean": {
4
+ "required": "必須項目です",
5
+ "shouldBeTrue": "Trueである必要があります",
6
+ "shouldBeFalse": "Falseである必要があります",
7
+ "invalid": "ブール値である必要があります"
8
+ },
9
+ "email": {
10
+ "required": "必須項目です",
11
+ "invalid": "メールアドレスの形式が無効です",
12
+ "minLength": "${minLength}文字以上で入力してください",
13
+ "maxLength": "${maxLength}文字以下で入力してください",
14
+ "includes": "「${includes}」を含む必要があります",
15
+ "domain": "ドメインは ${domain} である必要があります",
16
+ "domainBlacklist": "ドメイン ${domain} は許可されていません",
17
+ "businessOnly": "ビジネスメールアドレスのみ使用可能です",
18
+ "noDisposable": "使い捨てメールアドレスは使用できません"
19
+ },
20
+ "url": {
21
+ "required": "必須項目です",
22
+ "invalid": "無効なURL形式です",
23
+ "min": "${min}文字以上で入力してください",
24
+ "max": "${max}文字以下で入力してください",
25
+ "includes": "「${includes}」を含む必要があります",
26
+ "excludes": "「${excludes}」を含めることはできません",
27
+ "protocol": "プロトコルは次のいずれかである必要があります:${protocols}",
28
+ "domain": "ドメインは次のいずれかである必要があります:${domains}",
29
+ "domainBlacklist": "ドメイン ${domain} は許可されていません",
30
+ "port": "ポートは次のいずれかである必要があります:${ports}",
31
+ "pathStartsWith": "パスは「${path}」で始まる必要があります",
32
+ "pathEndsWith": "パスは「${path}」で終わる必要があります",
33
+ "hasQuery": "URLにクエリパラメータが必要です",
34
+ "noQuery": "URLにクエリパラメータを含めることはできません",
35
+ "hasFragment": "URLにフラグメントが必要です",
36
+ "noFragment": "URLにフラグメントを含めることはできません",
37
+ "localhost": "ローカルホストURLは許可されていません",
38
+ "noLocalhost": "ローカルホストURLは許可されていません"
39
+ },
40
+ "password": {
41
+ "required": "必須項目です",
42
+ "min": "${min}文字以上で入力してください",
43
+ "max": "${max}文字以下で入力してください",
44
+ "uppercase": "大文字を1文字以上含む必要があります",
45
+ "lowercase": "小文字を1文字以上含む必要があります",
46
+ "digits": "数字を1文字以上含む必要があります",
47
+ "special": "特殊文字を1文字以上含む必要があります",
48
+ "noRepeating": "繰り返し文字を含めることはできません",
49
+ "noSequential": "連続文字を含めることはできません",
50
+ "noCommonWords": "一般的な単語やパターンを含めることはできません",
51
+ "minStrength": "パスワード強度は ${minStrength} 以上である必要があります",
52
+ "excludes": "「${excludes}」を含めることはできません",
53
+ "includes": "「${includes}」を含む必要があります",
54
+ "invalid": "パスワードの形式が無効です"
55
+ },
56
+ "number": {
57
+ "required": "必須項目です",
58
+ "invalid": "有効な数値である必要があります",
59
+ "integer": "整数である必要があります",
60
+ "float": "小数である必要があります",
61
+ "min": "${min} 以上である必要があります",
62
+ "max": "${max} 以下である必要があります",
63
+ "positive": "正の数である必要があります",
64
+ "negative": "負の数である必要があります",
65
+ "nonNegative": "非負の数である必要があります",
66
+ "nonPositive": "非正の数である必要があります",
67
+ "multipleOf": "${multipleOf} の倍数である必要があります",
68
+ "finite": "有限の数である必要があります",
69
+ "precision": "小数点以下は ${precision} 桁以内である必要があります"
70
+ },
71
+ "id": {
72
+ "required": "必須項目です",
73
+ "invalid": "無効なID形式です",
74
+ "minLength": "${minLength}文字以上で入力してください",
75
+ "maxLength": "${maxLength}文字以下で入力してください",
76
+ "numeric": "数値IDである必要があります",
77
+ "uuid": "有効なUUIDである必要があります",
78
+ "objectId": "有効なMongoDB ObjectIdである必要があります",
79
+ "nanoid": "有効なNano IDである必要があります",
80
+ "snowflake": "有効なSnowflake IDである必要があります",
81
+ "cuid": "有効なCUIDである必要があります",
82
+ "ulid": "有効なULIDである必要があります",
83
+ "shortid": "有効なShort IDである必要があります",
84
+ "customFormat": "無効なID形式です",
85
+ "includes": "「${includes}」を含む必要があります",
86
+ "excludes": "「${excludes}」を含めることはできません",
87
+ "startsWith": "「${startsWith}」で始まる必要があります",
88
+ "endsWith": "「${endsWith}」で終わる必要があります"
89
+ },
90
+ "text": {
91
+ "required": "必須項目です",
92
+ "notEmpty": "空白のみの入力はできません",
93
+ "minLength": "${minLength}文字以上で入力してください",
94
+ "maxLength": "${maxLength}文字以下で入力してください",
95
+ "startsWith": "「${startsWith}」で始まる必要があります",
96
+ "endsWith": "「${endsWith}」で終わる必要があります",
97
+ "includes": "「${includes}」を含む必要があります",
98
+ "excludes": "「${excludes}」を含めることはできません",
99
+ "invalid": "形式が無効です"
100
+ },
101
+ "date": {
102
+ "required": "必須項目です",
103
+ "invalid": "無効な日付です",
104
+ "format": "${format} 形式で入力してください",
105
+ "min": "日付は ${min} 以降である必要があります",
106
+ "max": "日付は ${max} 以前である必要があります",
107
+ "includes": "「${includes}」を含む必要があります",
108
+ "excludes": "「${excludes}」を含めることはできません",
109
+ "past": "過去の日付である必要があります",
110
+ "future": "未来の日付である必要があります",
111
+ "today": "今日の日付である必要があります",
112
+ "notToday": "今日以外の日付である必要があります",
113
+ "weekday": "平日(月曜〜金曜)である必要があります",
114
+ "weekend": "週末(土曜〜日曜)である必要があります"
115
+ },
116
+ "time": {
117
+ "required": "必須項目です",
118
+ "invalid": "無効な時刻形式です",
119
+ "format": "${format} 形式で入力してください",
120
+ "min": "時刻は ${min} 以降である必要があります",
121
+ "max": "時刻は ${max} 以前である必要があります",
122
+ "hour": "時間は ${minHour} から ${maxHour} の間である必要があります",
123
+ "minute": "分は ${minuteStep} 分間隔である必要があります",
124
+ "second": "秒は ${secondStep} 秒間隔である必要があります",
125
+ "includes": "「${includes}」を含む必要があります",
126
+ "excludes": "「${excludes}」を含めることはできません",
127
+ "customRegex": "無効な時刻形式です",
128
+ "notInWhitelist": "許可リストに含まれていない時刻です"
129
+ },
130
+ "datetime": {
131
+ "required": "必須項目です",
132
+ "invalid": "無効な日時形式です",
133
+ "format": "${format} 形式で入力してください",
134
+ "min": "日時は ${min} 以降である必要があります",
135
+ "max": "日時は ${max} 以前である必要があります",
136
+ "hour": "時間は ${minHour} から ${maxHour} の間である必要があります",
137
+ "minute": "分は ${minuteStep} 分間隔である必要があります",
138
+ "includes": "「${includes}」を含む必要があります",
139
+ "excludes": "「${excludes}」を含めることはできません",
140
+ "past": "過去の日時である必要があります",
141
+ "future": "未来の日時である必要があります",
142
+ "today": "今日の日時である必要があります",
143
+ "notToday": "今日以外の日時である必要があります",
144
+ "weekday": "平日(月曜〜金曜)である必要があります",
145
+ "weekend": "週末(土曜〜日曜)である必要があります",
146
+ "customRegex": "無効な日時形式です",
147
+ "notInWhitelist": "許可リストに含まれていない日時です"
148
+ },
149
+ "file": {
150
+ "required": "必須項目です",
151
+ "invalid": "無効なファイル形式です",
152
+ "size": "ファイルサイズは ${size} 以下である必要があります",
153
+ "minSize": "ファイルサイズは ${minSize} 以上である必要があります",
154
+ "maxSize": "ファイルサイズは ${maxSize} 以下である必要があります",
155
+ "type": "ファイルタイプは次のいずれかである必要があります:${type}",
156
+ "extension": "ファイル拡張子は次のいずれかである必要があります:${extension}",
157
+ "extensionBlacklist": "ファイル拡張子 ${extension} は許可されていません",
158
+ "name": "ファイル名はパターン ${pattern} に一致する必要があります",
159
+ "nameBlacklist": "ファイル名はパターン ${pattern} に一致してはいけません",
160
+ "imageOnly": "画像ファイルのみ許可されています",
161
+ "documentOnly": "ドキュメントファイルのみ許可されています",
162
+ "videoOnly": "動画ファイルのみ許可されています",
163
+ "audioOnly": "音声ファイルのみ許可されています",
164
+ "archiveOnly": "アーカイブファイルのみ許可されています"
165
+ },
166
+ "creditCard": {
167
+ "required": "必須項目です",
168
+ "invalid": "無効なクレジットカード番号です",
169
+ "notInWhitelist": "クレジットカード番号が許可リストにありません"
170
+ },
171
+ "ip": {
172
+ "required": "必須項目です",
173
+ "invalid": "無効なIPアドレスです",
174
+ "notIPv4": "有効なIPv4アドレスである必要があります",
175
+ "notIPv6": "有効なIPv6アドレスである必要があります",
176
+ "notInWhitelist": "IPアドレスが許可リストにありません"
177
+ },
178
+ "color": {
179
+ "required": "必須項目です",
180
+ "invalid": "無効な色形式です",
181
+ "notHex": "有効な16進数カラーである必要があります",
182
+ "notRgb": "有効なRGBカラーである必要があります",
183
+ "notHsl": "有効なHSLカラーである必要があります"
184
+ },
185
+ "coordinate": {
186
+ "required": "必須項目です",
187
+ "invalid": "無効な座標です",
188
+ "invalidLatitude": "緯度は-90から90の間である必要があります",
189
+ "invalidLongitude": "経度は-180から180の間である必要があります"
190
+ }
191
+ },
192
+ "taiwan": {
193
+ "businessId": {
194
+ "required": "必須項目です",
195
+ "invalid": "無効な台湾統一編號です"
196
+ },
197
+ "nationalId": {
198
+ "required": "必須項目です",
199
+ "invalid": "無効な台湾身分証番号です"
200
+ },
201
+ "mobile": {
202
+ "required": "必須項目です",
203
+ "invalid": "無効な台湾携帯電話番号形式です",
204
+ "notInWhitelist": "許可された携帯電話番号リストに含まれていません"
205
+ },
206
+ "tel": {
207
+ "required": "必須項目です",
208
+ "invalid": "無効な台湾固定電話番号形式です",
209
+ "notInWhitelist": "許可された固定電話番号リストに含まれていません"
210
+ },
211
+ "fax": {
212
+ "required": "必須項目です",
213
+ "invalid": "無効な台湾FAX番号形式です",
214
+ "notInWhitelist": "許可されたFAX番号リストに含まれていません"
215
+ },
216
+ "postalCode": {
217
+ "required": "必須項目です",
218
+ "invalid": "無効な台湾郵便番号です",
219
+ "invalidFormat": "郵便番号の形式が無効です",
220
+ "invalidRange": "郵便番号が有効範囲外です",
221
+ "legacy5DigitWarning": "5桁の郵便番号は旧形式です。6桁形式の使用を推奨します",
222
+ "format3Only": "3桁の郵便番号のみ使用可能です",
223
+ "format5Only": "5桁の郵便番号のみ使用可能です",
224
+ "format6Only": "6桁の郵便番号のみ使用可能です",
225
+ "invalidSuffix": "無効な郵便番号の末尾 - 5桁は01-99、6桁は001-999である必要があります",
226
+ "deprecated5Digit": "5桁の郵便番号は廃止されており、サポートされていません"
227
+ },
228
+ "invoice": {
229
+ "required": "必須項目です",
230
+ "invalid": "無効な台湾統一発票番号です"
231
+ },
232
+ "licensePlate": {
233
+ "required": "必須項目です",
234
+ "invalid": "無効な台湾ナンバープレートです"
235
+ },
236
+ "bankAccount": {
237
+ "required": "必須項目です",
238
+ "invalid": "無効な台湾銀行口座です",
239
+ "invalidBankCode": "無効な銀行コードです",
240
+ "invalidAccountNumber": "無効な口座番号です"
241
+ },
242
+ "passport": {
243
+ "required": "必須項目です",
244
+ "invalid": "無効な台湾パスポート番号です"
245
+ }
246
+ }
247
+ }