@prosopo/locale 2.5.5 → 3.1.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.
Files changed (79) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/cjs/i18SharedOptions.cjs +11 -0
  3. package/dist/cjs/i18nBackend.cjs +32 -0
  4. package/dist/cjs/i18nFrontend.cjs +60 -0
  5. package/dist/cjs/i18nMiddleware.cjs +8 -0
  6. package/dist/cjs/index.cjs +15 -0
  7. package/dist/cjs/loadI18next.cjs +28 -0
  8. package/dist/cjs/locales/en/translation.json.cjs +47 -0
  9. package/dist/cjs/translationKey.cjs +25 -0
  10. package/dist/cjs/translations.cjs +42 -0
  11. package/dist/cjs/useTranslation.cjs +8 -0
  12. package/dist/cjs/util.cjs +10 -0
  13. package/dist/i18SharedOptions.d.ts +8 -0
  14. package/dist/i18SharedOptions.d.ts.map +1 -0
  15. package/dist/i18SharedOptions.js +11 -0
  16. package/dist/i18nBackend.d.ts +2 -1
  17. package/dist/i18nBackend.d.ts.map +1 -1
  18. package/dist/i18nBackend.js +27 -25
  19. package/dist/i18nFrontend.d.ts +2 -1
  20. package/dist/i18nFrontend.d.ts.map +1 -1
  21. package/dist/i18nFrontend.js +48 -38
  22. package/dist/i18nMiddleware.js +5 -4
  23. package/dist/index.js +15 -7
  24. package/dist/loadI18next.d.ts.map +1 -1
  25. package/dist/loadI18next.js +26 -25
  26. package/dist/locales/ar/translation.json +442 -0
  27. package/dist/locales/az/translation.json +442 -0
  28. package/dist/locales/cs/translation.json +442 -0
  29. package/dist/locales/de/translation.json +440 -406
  30. package/dist/locales/el/translation.json +442 -0
  31. package/dist/locales/en/translation.json +440 -406
  32. package/dist/locales/en/translation.json.js +47 -0
  33. package/dist/locales/es/translation.json +440 -406
  34. package/dist/locales/fi/translation.json +442 -0
  35. package/dist/locales/fr/translation.json +440 -406
  36. package/dist/locales/hi/translation.json +442 -0
  37. package/dist/locales/hu/translation.json +442 -0
  38. package/dist/locales/id/translation.json +442 -0
  39. package/dist/locales/it/translation.json +440 -406
  40. package/dist/locales/ja/translation.json +442 -0
  41. package/dist/locales/jv/translation.json +442 -0
  42. package/dist/locales/ko/translation.json +442 -0
  43. package/dist/locales/ml/translation.json +442 -0
  44. package/dist/locales/ms/translation.json +442 -0
  45. package/dist/locales/nl/translation.json +442 -0
  46. package/dist/locales/no/translation.json +442 -0
  47. package/dist/locales/pl/translation.json +442 -0
  48. package/dist/locales/pt/translation.json +440 -406
  49. package/dist/locales/pt-BR/translation.json +440 -406
  50. package/dist/locales/ro/translation.json +442 -0
  51. package/dist/locales/ru/translation.json +442 -0
  52. package/dist/locales/sr/translation.json +442 -0
  53. package/dist/locales/sv/translation.json +442 -0
  54. package/dist/locales/th/translation.json +442 -0
  55. package/dist/locales/tr/translation.json +442 -0
  56. package/dist/locales/uk/translation.json +442 -0
  57. package/dist/locales/vi/translation.json +442 -0
  58. package/dist/locales/zh-CN/translation.json +442 -0
  59. package/dist/translationKey.js +21 -17
  60. package/dist/translations.d.ts +35 -2
  61. package/dist/translations.d.ts.map +1 -1
  62. package/dist/translations.js +41 -3
  63. package/dist/useTranslation.js +7 -6
  64. package/dist/util.js +8 -7
  65. package/package.json +24 -12
  66. package/vite.cjs.config.ts +5 -3
  67. package/vite.esm.config.ts +20 -0
  68. package/vite.test.config.ts +3 -4
  69. package/dist/i18nBackend.js.map +0 -1
  70. package/dist/i18nFrontend.js.map +0 -1
  71. package/dist/i18nMiddleware.js.map +0 -1
  72. package/dist/index.js.map +0 -1
  73. package/dist/loadI18next.js.map +0 -1
  74. package/dist/tests/locales.unit.test.js +0 -48
  75. package/dist/tests/locales.unit.test.js.map +0 -1
  76. package/dist/translationKey.js.map +0 -1
  77. package/dist/translations.js.map +0 -1
  78. package/dist/useTranslation.js.map +0 -1
  79. package/dist/util.js.map +0 -1
@@ -0,0 +1,442 @@
1
+ {
2
+ "GENERAL": {
3
+ "MISSING_SECRET_KEY": "Thiếu khóa bí mật",
4
+ "SITE_KEY_NOT_FOUND": "Không tìm thấy khóa trang",
5
+ "JSON_LOAD_FAILED": "Không thể tải tệp JSON",
6
+ "MNEMONIC_UNDEFINED": "Không xác định Mnemonic. Vui lòng thiết lập mnemonic trong biến môi trường",
7
+ "NO_MNEMONIC_OR_SEED": "Không có mnemonic hoặc seed được cung cấp",
8
+ "CANT_FIND_KEYRINGPAIR": "Không thể tìm thấy keyringpair cho {{address}}",
9
+ "ENVIRONMENT_NOT_READY": "Môi trường chưa sẵn sàng",
10
+ "INVALID_SIGNATURE": "Chữ ký không hợp lệ",
11
+ "SITE_KEY_MISSING": "SITE KEY thiếu",
12
+ "ACCOUNT_NOT_FOUND": "Không tìm thấy tài khoản",
13
+ "INVALID_TIMESTAMP": "Thời điểm không hợp lệ"
14
+ },
15
+ "API": {
16
+ "INSUFFICIENT_PERMISSIONS": "Không đủ quyền để thực hiện hành động này",
17
+ "MISSING_QUERY_PARAMETERS": "Thiếu tham số truy vấn",
18
+ "MISSING_AUTHORIZATION_HEADER": "Thiếu tiêu đề ủy quyền",
19
+ "TIMESTAMP_TOO_OLD": "Mốc thời gian quá cũ",
20
+ "FORBIDDEN": "Bị cấm",
21
+ "PROVIDER_VERIFY_FAILED": "Xác thực nhà cung cấp không thành công",
22
+ "UNAUTHORIZED": "Không được phép",
23
+ "MISSING_BODY": "Thiếu nội dung",
24
+ "NO_CONTENT_TYPE_HEADER": "Không có tiêu đề content-type. Giả định nội dung được mã hóa JSON nhưng không thể phân tích.",
25
+ "CAPTCHA_FAILED": "Bạn đã trả lời một hoặc nhiều CAPTCHA không đúng. Vui lòng thử lại",
26
+ "CAPTCHA_PASSED": "Bạn đã trả lời đúng các CAPTCHA",
27
+ "BAD_REQUEST": "Yêu cầu không hợp lệ",
28
+ "USER_VERIFIED": "Người dùng đã được xác minh",
29
+ "USER_NOT_VERIFIED": "Người dùng chưa được xác minh",
30
+ "USER_NOT_VERIFIED_TIME_EXPIRED": "Người dùng chưa được xác minh. Giải pháp CAPTCHA đã hết hạn",
31
+ "USER_NOT_VERIFIED_NO_SOLUTION": "Người dùng chưa được xác minh. Không tìm thấy giải pháp CAPTCHA",
32
+ "USER_ALREADY_VERIFIED": "Giải pháp này đã được xác minh. Người dùng cần hoàn tất một CAPTCHA mới",
33
+ "UNKNOWN": "Lỗi API không xác định",
34
+ "SITE_KEY_NOT_REGISTERED": "Khóa trang web chưa được đăng ký",
35
+ "INCORRECT_CAPTCHA_TYPE": "Loại CAPTCHA không đúng",
36
+ "INVALID_SITE_KEY": "Khóa trang web không hợp lệ",
37
+ "UNAUTHORIZED_ORIGIN_URL": "URL nguồn không được ủy quyền",
38
+ "INVALID_IP": "IP không hợp lệ",
39
+ "INVALID_URL": "URL không hợp lệ",
40
+ "INVALID_BODY": "Nội dung không hợp lệ",
41
+ "PARSE_ERROR": "Lỗi phân tích yêu cầu"
42
+ },
43
+ "PORTAL": {
44
+ "CANNOT_MODIFY_OWNER_USER": "Không thể sửa đổi người dùng chủ sở hữu",
45
+ "CANNOT_DELETE_OWN_USER": "Không thể xóa tài khoản của chính bạn",
46
+ "CANNOT_DELETE_LAST_USER": "Không thể xóa người dùng cuối cùng",
47
+ "USER_ALREADY_EXISTS": "Người dùng đã tồn tại",
48
+ "NO_SUGGESTIONS_FOUND": "Không tìm thấy gợi ý nào",
49
+ "CANNOT_DEACTIVATE_LAST_SITE": "Không thể vô hiệu hóa trang cuối cùng hoạt động"
50
+ },
51
+ "TARGET": {
52
+ "airplanes": "máy bay",
53
+ "american-flag": "cờ Mỹ",
54
+ "bonsai": "cây cảnh",
55
+ "buddha": "Phật",
56
+ "cannon": "súng pháo",
57
+ "coffee-mug": "cốc cà phê",
58
+ "flashlight": "đèn pin",
59
+ "floppy-disk": "đĩa mềm",
60
+ "football-helmet": "mũ bóng đá",
61
+ "grand-piano": "đàn piano cơ",
62
+ "jesus-christ": "Chúa Giêsu Kitô",
63
+ "knife": "dao",
64
+ "leopards": "báo",
65
+ "sword": "gươm",
66
+ "syringe": "ống tiêm",
67
+ "tambourine": "cái trống lẫy",
68
+ "bird": "chim",
69
+ "bus": "xe buýt",
70
+ "car": "xe hơi",
71
+ "cat": "mèo",
72
+ "deer": "nai",
73
+ "dog": "chó",
74
+ "horse": "ngựa",
75
+ "plane": "máy bay",
76
+ "train": "tàu hỏa",
77
+ "animals": "động vật",
78
+ "antelope": "linh dương",
79
+ "backpack": "ba lô",
80
+ "badger": "lửng",
81
+ "baseball-bat": "gậy bóng chày",
82
+ "baseball-glove": "găng tay bóng chày",
83
+ "basketball-hoop": "vòng đua bóng rổ",
84
+ "bat": "dơi",
85
+ "bathtub": "bồn tắm",
86
+ "bear": "gấu",
87
+ "bee": "ong",
88
+ "beer-mug": "cốc bia",
89
+ "beetle": "bọ cánh cứng",
90
+ "billiards": "bi-a",
91
+ "binoculars": "ống nhòm",
92
+ "birdbath": "bể tắm chim",
93
+ "bison": "bison",
94
+ "blimp": "khinh khí cầu",
95
+ "boar": "lợn rừng",
96
+ "bonsai-tree": "cây bonsai",
97
+ "boom-box": "loa di động",
98
+ "bowling-ball": "quả bóng bowling",
99
+ "bowling-pin": "cọc bowling",
100
+ "boxing-glove": "găng tay quyền Anh",
101
+ "breadmaker": "máy làm bánh mì",
102
+ "bulldozer": "máy ủi đất",
103
+ "butterfly": "bướm",
104
+ "cactus": "hồ roy",
105
+ "cake": "bánh",
106
+ "calculator": "máy tính",
107
+ "camel": "lạc đà",
108
+ "canoe": "thuyền kayak",
109
+ "car-tire": "lốp xe hơi",
110
+ "caterpillar": "sâu bướm",
111
+ "cd": "đĩa CD",
112
+ "cereal-box": "hộp ngũ cốc",
113
+ "chandelier": "đèn chùm",
114
+ "chess-board": "bàn cờ",
115
+ "chimpanzee": "tinh tinh",
116
+ "chopsticks": "đũa",
117
+ "cockroach": "gián",
118
+ "coffin": "quốc tang",
119
+ "coin": "đồng xu",
120
+ "comet": "ngôi sao sa thạch",
121
+ "computer-keyboard": "bàn phím máy tính",
122
+ "computer-monitor": "màn hình máy tính",
123
+ "computer-mouse": "chuột máy tính",
124
+ "conch": "vòi sen",
125
+ "cormorant": "cá dặn",
126
+ "covered-wagon": "xe bảo vệ",
127
+ "cow": "bò",
128
+ "cowboy-hat": "mũ lưỡi trai",
129
+ "coyote": "chó sói đồng cỏ",
130
+ "crab": "cua",
131
+ "crow": "con quạ",
132
+ "desk-globe": "quả địa cầu bàn",
133
+ "diamond-ring": "nhẫn kim cương",
134
+ "dice": "xúc xắc",
135
+ "dolphin": "cá heo",
136
+ "donkey": "lừa",
137
+ "doorknob": "núm cửa",
138
+ "dragonfly": "bồ câu rồng",
139
+ "drinking-straw": "ống hút",
140
+ "duck": "vịt",
141
+ "dumb-bell": "tạ",
142
+ "eagle": "đại bàng",
143
+ "eiffel-tower": "tháp Eiffel",
144
+ "electric-guitar": "đàn guitar điện",
145
+ "elephant": "voi",
146
+ "elk": "hươu",
147
+ "eyeglasses": "kính",
148
+ "fern": "rậm cây",
149
+ "fire-extinguisher": "bình xịt chữa cháy",
150
+ "fire-hydrant": "vòi nước chữa cháy",
151
+ "fire-truck": "xe cứu hỏa",
152
+ "fireworks": "pháo hoa",
153
+ "flamingo": "quạ đù",
154
+ "fly": "con ruồi",
155
+ "fox": "cáo",
156
+ "french-horn": "kèn Vĩ cầm",
157
+ "fried-egg": "trứng chiên",
158
+ "frisbee": "đĩa quẩy",
159
+ "frog": "ếch",
160
+ "frying-pan": "chảo rán",
161
+ "galaxy": "dải ngân hà",
162
+ "gas-pump": "bơm xăng",
163
+ "giraffe": "hươu cao cổ",
164
+ "goat": "dê",
165
+ "golden-gate-bridge": "cầu cổng vàng",
166
+ "goldfish": "cá vàng",
167
+ "golf-ball": "quả bóng golf",
168
+ "goose": "ngỗng",
169
+ "gorilla": "đười ươi",
170
+ "grapes": "nho",
171
+ "grasshopper": "châu chấu",
172
+ "greyhound": "chó săn đuôi giả",
173
+ "guitar-pick": "thanh đàn guitar",
174
+ "hamburger": "bánh hamburger",
175
+ "hammock": "võng",
176
+ "hamster": "chuột lang",
177
+ "hare": "thỏ rừng",
178
+ "harmonica": "sáo",
179
+ "harp": "đàn hạc",
180
+ "harpsichord": "đàn cembalo",
181
+ "head-phones": "tai nghe",
182
+ "hedgehog": "nhím",
183
+ "helicopter": "máy bay trực thăng",
184
+ "hibiscus": "rau dâm bụt",
185
+ "hippopotamus": "hà mã",
186
+ "homer-simpson": "homer-simpson",
187
+ "hornbill": "chim nước",
188
+ "horseshoe-crab": "cua sắt",
189
+ "hot-air-balloon": "khinh khí cầu nóng",
190
+ "hot-dog": "xúc xích nóng",
191
+ "hot-tub": "bồn tắm nước nóng",
192
+ "hourglass": "đồng hồ cát",
193
+ "house-fly": "ruồi",
194
+ "hummingbird": "chim ruồi",
195
+ "hyena": "koẻn",
196
+ "ice-cream-cone": "kem cuốn",
197
+ "iguana": "kỳ nhông",
198
+ "ipod": "điện thoại di động",
199
+ "jellyfish": "sứa",
200
+ "joy-stick": "bộ cần chỉnh",
201
+ "kangaroo": "kangaroo",
202
+ "kayak": "thuyền kayak",
203
+ "killer-whale": "cá voi sát thủ",
204
+ "koala": "gấu túi",
205
+ "ladder": "thang",
206
+ "ladybugs": "bọ rùa",
207
+ "laptop": "máy tính xách tay",
208
+ "leopard": "báo",
209
+ "license-plate": "biển số",
210
+ "light-house": "hải đăng",
211
+ "lightbulb": "bóng đèn",
212
+ "lightning": "sét",
213
+ "lion": "sư tử",
214
+ "lizard": "thằn lằn",
215
+ "llama": "lạc đà",
216
+ "lobster": "tôm hùm",
217
+ "mailbox": "hộp thư",
218
+ "mandolin": "đàn mandolin",
219
+ "mars": "sao hoả",
220
+ "mattress": "nệm",
221
+ "megaphone": "loa",
222
+ "microscope": "kính hiển vi",
223
+ "microwave": "lò vi sóng",
224
+ "minaret": "tháp đền Hồi giáo",
225
+ "minotaur": "quái thú Minotaur",
226
+ "mosquito": "ve sầu",
227
+ "moth": "bướm đêm",
228
+ "motorbikes": "xe máy",
229
+ "mountain-bike": "xe đạp địa hình",
230
+ "mouse": "chuột",
231
+ "mushroom": "nấm",
232
+ "mussels": "sò",
233
+ "necktie": "cà vạt",
234
+ "octopus": "bạch tuộc",
235
+ "okapi": "okapi",
236
+ "orangutan": "tinh tinh",
237
+ "ostrich": "đà điểu",
238
+ "otter": "loutre",
239
+ "owl": "cú",
240
+ "ox": "trâu",
241
+ "oyster": "hàu",
242
+ "palm-pilot": "máy tính xách tay",
243
+ "palm-tree": "cây cọ",
244
+ "panda": "gấu trúc",
245
+ "paper-shredder": "máy hủy giấy",
246
+ "paperclip": "kẹp giấy",
247
+ "parrot": "vẹt",
248
+ "pci-card": "thẻ PCI",
249
+ "pelecaniformes": "cò",
250
+ "penguin": "chim cánh cụt",
251
+ "photocopier": "máy photocopy",
252
+ "piano": "đàn piano",
253
+ "picnic-table": "bàn picnic",
254
+ "pig": "lợn",
255
+ "pigeon": "chim bồ câu",
256
+ "playing-card": "bài chơi",
257
+ "porcupine": "thú gai",
258
+ "possum": "possum",
259
+ "pram": "xe đẩy trẻ em",
260
+ "pyramid": "kim tự tháp",
261
+ "raccoon": "gấu mèo",
262
+ "radio-telescope": "đài vi sai",
263
+ "rainbow": "cầu vồng",
264
+ "rat": "chuột túi",
265
+ "refrigerator": "tủ lạnh",
266
+ "reindeer": "tuần lộc",
267
+ "rhinoceros": "tê giác",
268
+ "rotary-phone": "điện thoại quay số",
269
+ "roulette-wheel": "bánh xe quay",
270
+ "saddle": "ủng ngựa",
271
+ "sandpiper": "chim ưng",
272
+ "saturn": "sao Thổ",
273
+ "school-bus": "xe bus học sinh",
274
+ "screwdriver": "cờ lê",
275
+ "seahorse": "ngựa biển",
276
+ "seal": "hải cẩu",
277
+ "segway": "xe đạp điện",
278
+ "self-propelled-lawn-mower": "máy cắt cỏ tự động",
279
+ "shark": "cá mập",
280
+ "sheep": "cừu",
281
+ "sheet-music": "bản nhạc",
282
+ "skateboard": "xe trượt",
283
+ "skunk": "traj",
284
+ "skyscraper": "tòa nhà chọc trời",
285
+ "smokestack": "ống khói",
286
+ "snail": "ốc sên",
287
+ "snake": "rắn",
288
+ "sneaker": "giày thể thao",
289
+ "snowmobile": "xe máy tuyết",
290
+ "soccer-ball": "bóng đá",
291
+ "socks": "tất",
292
+ "soda-can": "lon nước ngọt",
293
+ "spaghetti": "mỳ Ý",
294
+ "sparrow": "chim sẻ",
295
+ "speed-boat": "thuyền tốc độ",
296
+ "spoon": "cái thìa",
297
+ "squid": "mực",
298
+ "squirrel": "sóc",
299
+ "stained-glass": "kính tô",
300
+ "starfish": "sao biển",
301
+ "steering-wheel": "vô-lăng",
302
+ "stirrups": "vòng gốc",
303
+ "sunflower": "hướng dương",
304
+ "superman": "siêu nhân",
305
+ "sushi": "sushi",
306
+ "swan": "thiên nga",
307
+ "t-shirt": "áo thun",
308
+ "teapot": "ấm trà",
309
+ "teddy-bear": "gấu bông",
310
+ "telephone-box": "hòm điện thoại",
311
+ "tennis-ball": "bóng quần vợt",
312
+ "tennis-court": "sân tennis",
313
+ "tennis-racket": "vợt tennis",
314
+ "tiger": "hổ",
315
+ "toad": "ếch",
316
+ "toaster": "máy nướng bánh mỳ",
317
+ "tomato": "cà chua",
318
+ "tombstone": "tảng đá mồ côi",
319
+ "top-hat": "mũ lưỡi trai",
320
+ "touring-bike": "xe đạp du lịch",
321
+ "tower-pisa": "tháp nghiêng Pisa",
322
+ "traffic-light": "đèn giao thông",
323
+ "treadmill": "máy chạy bộ",
324
+ "triceratops": "con khủng long",
325
+ "tricycle": "xe ba bánh",
326
+ "tripod": "ba chân",
327
+ "tuning-fork": "điều chỉnh càng",
328
+ "turkey": "gà tây",
329
+ "turtle": "rùa",
330
+ "tweezer": "kìm nặn",
331
+ "umbrella": "ô",
332
+ "unicorn": "con ngựa một sừng",
333
+ "video-projector": "máy chiếu",
334
+ "washing-machine": "máy giặt",
335
+ "watch": "đồng hồ",
336
+ "waterfall": "thác nước",
337
+ "watermelon": "dưa hấu",
338
+ "welding-mask": "mặt nạ hàn",
339
+ "whale": "cá voi",
340
+ "wheelbarrow": "xe rùa",
341
+ "windmill": "cối xay gió",
342
+ "wine-bottle": "chai rượu",
343
+ "wolf": "sói",
344
+ "wombat": "wombat",
345
+ "woodpecker": "chim chuột",
346
+ "xylophone": "xylophone",
347
+ "yo-yo": "yo-yo",
348
+ "zebra": "ngựa vằn"
349
+ },
350
+ "ACCOUNT": {
351
+ "NO_POLKADOT_EXTENSION": "Không tìm thấy tiện ích Polkadot"
352
+ },
353
+ "WIDGET": {
354
+ "SELECT_ALL": "Chọn tất cả chứa cái sau",
355
+ "IF_NONE_CLICK_NEXT": "Nếu không có, nhấn vào Tiếp",
356
+ "NEXT": "Tiếp",
357
+ "SUBMIT": "Gửi",
358
+ "CANCEL": "Hủy",
359
+ "I_AM_HUMAN": "Tôi là con người",
360
+ "NO_ACCOUNTS_FOUND": "Không tìm thấy tài khoản",
361
+ "ACCOUNT_NOT_FOUND": "Không tìm thấy tài khoản",
362
+ "NO_EXTENSION_FOUND": "Không tìm thấy tiện ích"
363
+ },
364
+ "CONTRACT": {
365
+ "INVALID_ADDRESS": "Không thể mã hóa địa chỉ không hợp lệ",
366
+ "CAPTCHA_SOLUTION_COMMITMENT_DOES_NOT_EXIST": "Cam kết giải captcha không tồn tại",
367
+ "SIGNER_UNDEFINED": "Người ký không xác định",
368
+ "CANNOT_FIND_KEYPAIR": "Không thể tìm thấy keypair",
369
+ "INVALID_DATA_FORMAT": "Định dạng dữ liệu không hợp lệ"
370
+ },
371
+ "CONFIG": {
372
+ "UNKNOWN_ENVIRONMENT": "Môi trường không xác định được yêu cầu",
373
+ "INVALID_CAPTCHA_NUMBER": "Vui lòng cấu hình cấu hình captcha đúng cách",
374
+ "INVALID_LOG_LEVEL": "Mức độ log không hợp lệ",
375
+ "INVALID_PACKAGE_DIR": "Thư mục gói không hợp lệ"
376
+ },
377
+ "DATASET": {
378
+ "DATASET_PARSE_ERROR": "Lỗi phân tích bộ dữ liệu",
379
+ "SOLUTION_PARSE_ERROR": "Lỗi phân tích bộ dữ liệu",
380
+ "HASH_ERROR": "Lỗi băm bộ dữ liệu",
381
+ "DATASET_ID_UNDEFINED": "ID bộ dữ liệu không xác định",
382
+ "NOT_ENOUGH_LABELS": "Không đủ nhãn",
383
+ "NOT_ENOUGH_IMAGES": "Không đủ hình ảnh",
384
+ "CAPTCHAS_COUNT_LESS_THAN_CONFIGURED": "Số lượng captchas trong bộ dữ liệu ít hơn số lượng captchas được cấu hình",
385
+ "SOLUTIONS_COUNT_LESS_THAN_CONFIGURED": "Số lượng giải pháp trong bộ dữ liệu ít hơn số lượng giải pháp được cấu hình",
386
+ "DUPLICATE_IMAGE": "phát hiện hình ảnh trùng lặp",
387
+ "MERKLE_ERROR": "Lỗi tạo cây merkle"
388
+ },
389
+ "DATABASE": {
390
+ "DATABASE_IMPORT_FAILED": "Không thể nhập động cơ cơ sở dữ liệu",
391
+ "DATABASE_UNDEFINED": "Khách hàng cơ sở dữ liệu không kết nối",
392
+ "DATABASE_HOST_UNDEFINED": "Địa chỉ máy chủ cơ sở dữ liệu không được xác định",
393
+ "DATASET_LOAD_FAILED": "Thất bại khi tải tập dữ liệu",
394
+ "DATASET_GET_FAILED": "Không thể lấy bộ dữ liệu",
395
+ "CAPTCHA_GET_FAILED": "Không thể lấy captcha",
396
+ "CAPTCHA_UPDATE_FAILED": "Cập nhật captcha không thành công",
397
+ "IMAGE_GET_FAILED": "Không thể lấy hình ảnh",
398
+ "PENDING_RECORD_NOT_FOUND": "Không tìm thấy bản ghi chờ",
399
+ "INVALID_HASH": "Hash không hợp lệ",
400
+ "SOLUTION_GET_FAILED": "Không thể lấy giải pháp",
401
+ "DATASET_WITH_SOLUTIONS_GET_FAILED": "Không tìm thấy các bộ dữ liệu với số lượng giải pháp cần thiết",
402
+ "SOLUTION_APPROVE_FAILED": "Không thể phê duyệt giải pháp",
403
+ "SOLUTION_FLAG_FAILED": "Không thể đánh dấu giải pháp đã được xử lý",
404
+ "TABLES_UNDEFINED": "Bảng chưa xác định",
405
+ "CONNECTION_UNDEFINED": "Kết nối không xác định",
406
+ "COMMITMENT_FLAG_FAILED": "Không thể đánh dấu cam kết là đã xử lý",
407
+ "UNKNOWN": "Lỗi cơ sở dữ liệu không xác định"
408
+ },
409
+ "CAPTCHA": {
410
+ "PARSE_ERROR": "Lỗi phân tích captcha",
411
+ "INVALID_CAPTCHA_ID": "ID captcha không hợp lệ",
412
+ "INVALID_ITEM_FORMAT": "Chỉ cho phép các loại mục hình ảnh và văn bản",
413
+ "INVALID_SOLUTION_TYPE": "Loại giải pháp không hợp lệ",
414
+ "INVALID_ITEM_HASH": "Hash mục không hợp lệ",
415
+ "DIFFERENT_DATASET_IDS": "ID bộ dữ liệu không khớp",
416
+ "ID_MISMATCH": "Sai mã CAPTCHA",
417
+ "MISSING_ITEM_HASH": "Thiếu mã hash của mục",
418
+ "INVALID_CAPTCHA_CHALLENGE": "Thách thức CAPTCHA không hợp lệ",
419
+ "DAPP_USER_SOLUTION_NOT_FOUND": "Không tìm thấy giải pháp người dùng Dapp",
420
+ "NO_CAPTCHA": "Không tìm thấy CAPTCHA",
421
+ "NO_SESSION_FOUND": "Không tìm thấy phiên",
422
+ "INVALID_TOKEN": "Token không hợp lệ",
423
+ "INVALID_SOLUTION": "Giải pháp không hợp lệ",
424
+ "DECRYPTION_ERROR": "Lỗi giải mã"
425
+ },
426
+ "CLI": {
427
+ "PARAMETER_ERROR": "Tham số không hợp lệ"
428
+ },
429
+ "DEVELOPER": {
430
+ "PROSOPO_SITE_KEY_MISSING": "PROSOPO_SITE_KEY chưa được thiết lập trong tệp .env",
431
+ "PROVIDER_NO_CAPTCHA": "Không có CAPTCHA nào được trả về từ nhà cung cấp",
432
+ "MISSING_PROVIDER_PAIR": "Thiếu cặp nhà cung cấp",
433
+ "MISSING_ENV_VARIABLE": "Thiếu biến môi trường",
434
+ "GENERAL": "Lỗi phát triển chung, xem ngữ cảnh",
435
+ "METHOD_NOT_IMPLEMENTED": "Phương thức chưa được triển khai"
436
+ },
437
+ "FS": {
438
+ "FILE_NOT_FOUND": "Không tìm thấy tệp",
439
+ "FILE_ALREADY_EXISTS": "Tệp đã tồn tại",
440
+ "INVALID_DIR_FORMAT": "Định dạng thư mục không hợp lệ"
441
+ }
442
+ }