File size: 27,055 Bytes
a8b3f00
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
const translation = {
  common: {
    undo: 'Hoàn tác',
    redo: 'Làm lại',
    editing: 'Đang chỉnh sửa',
    autoSaved: 'Đã tự động lưu',
    unpublished: 'Chưa xuất bản',
    published: 'Đã xuất bản',
    publish: 'Xuất bản',
    update: 'Cập nhật',
    run: 'Chạy',
    running: 'Đang chạy',
    inRunMode: 'Chế độ chạy',
    inPreview: 'Trong chế độ xem trước',
    inPreviewMode: 'Chế độ xem trước',
    preview: 'Xem trước',
    viewRunHistory: 'Xem lịch sử chạy',
    runHistory: 'Lịch sử chạy',
    goBackToEdit: 'Quay lại trình chỉnh sửa',
    conversationLog: 'Nhật ký cuộc trò chuyện',
    features: 'Tính năng',
    debugAndPreview: 'Xem trước',
    restart: 'Khởi động lại',
    currentDraft: 'Bản nháp hiện tại',
    currentDraftUnpublished: 'Bản nháp hiện tại chưa xuất bản',
    latestPublished: 'Xuất bản mới nhất',
    publishedAt: 'Đã xuất bản lúc',
    restore: 'Khôi phục',
    runApp: 'Chạy ứng dụng',
    batchRunApp: 'Chạy ứng dụng hàng loạt',
    accessAPIReference: 'Truy cập tài liệu API',
    embedIntoSite: 'Nhúng vào trang web',
    addTitle: 'Thêm tiêu đề...',
    addDescription: 'Thêm mô tả...',
    noVar: 'Không có biến',
    searchVar: 'Tìm kiếm biến',
    variableNamePlaceholder: 'Tên biến',
    setVarValuePlaceholder: 'Đặt giá trị biến',
    needConnectTip: 'Bước này không được kết nối với bất kỳ điều gì',
    maxTreeDepth: 'Giới hạn tối đa {{depth}} nút trên mỗi nhánh',
    needEndNode: 'Phải thêm khối Kết thúc',
    needAnswerNode: 'Phải thêm khối Trả lời',
    workflowProcess: 'Quy trình làm việc',
    notRunning: 'Chưa chạy',
    previewPlaceholder: 'Nhập nội dung vào hộp bên dưới để bắt đầu gỡ lỗi Chatbot',
    effectVarConfirm: {
      title: 'Xóa biến',
      content: 'Biến được sử dụng trong các nút khác. Bạn có chắc chắn muốn xóa nó không?',
    },
    insertVarTip: 'Nhấn phím \'/\' để chèn nhanh',
    processData: 'Xử lý dữ liệu',
    input: 'Đầu vào',
    output: 'Đầu ra',
    jinjaEditorPlaceholder: 'Gõ \'/\' hoặc \'{\' để chèn biến',
    viewOnly: 'Chỉ xem',
    showRunHistory: 'Hiển thị lịch sử chạy',
    enableJinja: 'Bật hỗ trợ mẫu Jinja',
    learnMore: 'Tìm hiểu thêm',
    copy: 'Sao chép',
    duplicate: 'Nhân bản',
    addBlock: 'Thêm khối',
    pasteHere: 'Dán vào đây',
    pointerMode: 'Chế độ con trỏ',
    handMode: 'Chế độ tay',
    model: 'Mô hình',
    workflowAsTool: 'Quy trình làm việc như công cụ',
    configureRequired: 'Yêu cầu cấu hình',
    configure: 'Cấu hình',
    manageInTools: 'Quản lý trong công cụ',
    workflowAsToolTip: 'Cần cấu hình lại công cụ sau khi cập nhật quy trình làm việc.',
    viewDetailInTracingPanel: 'Xem chi tiết',
    importSuccess: 'Nhập thành công',
    backupCurrentDraft: 'Sao lưu dự thảo hiện tại',
    chooseDSL: 'Chọn tệp DSL(yml)',
    importDSLTip: 'Dự thảo hiện tại sẽ bị ghi đè. Xuất quy trình làm việc dưới dạng bản sao lưu trước khi nhập.',
    importFailure: 'Nhập không thành công',
    overwriteAndImport: 'Ghi đè và nhập',
    importDSL: 'Nhập DSL',
    syncingData: 'Đồng bộ hóa dữ liệu, chỉ vài giây.',
    parallelTip: {
      click: {
        title: 'Bấm',
        desc: 'để thêm',
      },
      drag: {
        title: 'Kéo',
        desc: 'Để kết nối',
      },
      limit: 'Song song được giới hạn trong các nhánh {{num}}.',
      depthLimit: 'Giới hạn lớp lồng song song của {{num}} layer',
    },
    parallelRun: 'Chạy song song',
    disconnect: 'Ngắt kết nối',
    jumpToNode: 'Chuyển đến nút này',
    addParallelNode: 'Thêm nút song song',
    parallel: 'SONG SONG',
    branch: 'NHÁNH',
    featuresDocLink: 'Tìm hiểu thêm',
    fileUploadTip: 'Các tính năng tải lên hình ảnh đã được nâng cấp để tải tệp lên.',
    featuresDescription: 'Nâng cao trải nghiệm người dùng ứng dụng web',
    ImageUploadLegacyTip: 'Bây giờ bạn có thể tạo các biến loại tệp trong biểu mẫu bắt đầu. Chúng tôi sẽ không còn hỗ trợ tính năng tải lên hình ảnh trong tương lai.',
  },
  env: {
    envPanelTitle: 'Biến Môi Trường',
    envDescription: 'Biến môi trường có thể được sử dụng để lưu trữ thông tin cá nhân và thông tin xác thực. Chúng chỉ được đọc và có thể được tách khỏi tệp DSL trong quá trình xuất.',
    envPanelButton: 'Thêm Biến',
    modal: {
      title: 'Thêm Biến Môi Trường',
      editTitle: 'Sửa Biến Môi Trường',
      type: 'Loại',
      name: 'Tên',
      namePlaceholder: 'tên môi trường',
      value: 'Giá trị',
      valuePlaceholder: 'giá trị môi trường',
      secretTip: 'Được sử dụng để xác định thông tin hoặc dữ liệu nhạy cảm, với cài đặt DSL được cấu hình để ngăn chặn rò rỉ.',
    },
    export: {
      title: 'Xuất biến môi trường bí mật?',
      checkbox: 'Xuất giá trị bí mật',
      ignore: 'Xuất DSL',
      export: 'Xuất DSL với giá trị bí mật',
    },
  },
  chatVariable: {
    panelTitle: 'Biến Hội Thoại',
    panelDescription: 'Biến Hội Thoại được sử dụng để lưu trữ thông tin tương tác mà LLM cần ghi nhớ, bao gồm lịch sử hội thoại, tệp đã tải lên, tùy chọn người dùng. Chúng có thể đọc và ghi được.',
    docLink: 'Truy cập tài liệu của chúng tôi để tìm hiểu thêm.',
    button: 'Thêm Biến',
    modal: {
      title: 'Thêm Biến Hội Thoại',
      editTitle: 'Chỉnh Sửa Biến Hội Thoại',
      name: 'Tên',
      namePlaceholder: 'Tên biến',
      type: 'Loại',
      value: 'Giá Trị Mặc Định',
      valuePlaceholder: 'Giá trị mặc định, để trống nếu không đặt',
      description: 'Mô tả',
      descriptionPlaceholder: 'Mô tả biến',
      editInJSON: 'Chỉnh sửa dưới dạng JSON',
      oneByOne: 'Thêm từng cái một',
      editInForm: 'Chỉnh sửa trong Biểu mẫu',
      arrayValue: 'Giá trị',
      addArrayValue: 'Thêm Giá trị',
      objectKey: 'Khóa',
      objectType: 'Loại',
      objectValue: 'Giá Trị Mặc Định',
    },
    storedContent: 'Nội dung đã lưu',
    updatedAt: 'Cập nhật lúc ',
  },
  changeHistory: {
    title: 'Lịch sử thay đổi',
    placeholder: 'Bạn chưa thay đổi gì cả',
    clearHistory: 'Xóa lịch sử',
    hint: 'Gợi ý',
    hintText: 'Các hành động chỉnh sửa của bạn được theo dõi trong lịch sử thay đổi, được lưu trên thiết bị của bạn trong suốt phiên làm việc này. Lịch sử này sẽ bị xóa khi bạn thoát khỏi trình soạn thảo.',
    stepBackward_one: '{{count}} bước lùi',
    stepBackward_other: '{{count}} bước lùi',
    stepForward_one: '{{count}} bước tiến',
    stepForward_other: '{{count}} bước tiến',
    sessionStart: 'Bắt đầu phiên',
    currentState: 'Trạng thái hiện tại',
    nodeTitleChange: 'Tiêu đề khối đã thay đổi',
    nodeDescriptionChange: 'Mô tả khối đã thay đổi',
    nodeDragStop: 'Khối đã di chuyển',
    nodeChange: 'Khối đã thay đổi',
    nodeConnect: 'Khối đã kết nối',
    nodePaste: 'Khối đã dán',
    nodeDelete: 'Khối đã xóa',
    nodeAdd: 'Khối đã thêm',
    nodeResize: 'Khối đã thay đổi kích thước',
    noteAdd: 'Ghi chú đã thêm',
    noteChange: 'Ghi chú đã thay đổi',
    noteDelete: 'Ghi chú đã xóa',
    edgeDelete: 'Khối đã ngắt kết nối',
  },
  errorMsg: {
    fieldRequired: '{{field}} là bắt buộc',
    authRequired: 'Yêu cầu xác thực',
    invalidJson: '{{field}} là JSON không hợp lệ',
    fields: {
      variable: 'Tên biến',
      variableValue: 'Giá trị biến',
      code: 'Mã',
      model: 'Mô hình',
      rerankModel: 'Mô hình xếp hạng lại',
      visionVariable: 'Biến tầm nhìn',
    },
    invalidVariable: 'Biến không hợp lệ',
    rerankModelRequired: 'Trước khi bật Mô hình xếp hạng lại, vui lòng xác nhận rằng mô hình đã được định cấu hình thành công trong cài đặt.',
  },
  singleRun: {
    testRun: 'Chạy thử nghiệm ',
    startRun: 'Bắt đầu chạy',
    running: 'Đang chạy',
    testRunIteration: 'Lặp chạy thử nghiệm',
    back: 'Quay lại',
    iteration: 'Lặp',
  },
  tabs: {
    'searchBlock': 'Tìm kiếm khối',
    'blocks': 'Khối',
    'tools': 'Công cụ',
    'allTool': 'Tất cả',
    'builtInTool': 'Tích hợp sẵn',
    'customTool': 'Tùy chỉnh',
    'workflowTool': 'Quy trình làm việc',
    'question-understand': 'Hiểu câu hỏi',
    'logic': 'Logic',
    'transform': 'Chuyển đổi',
    'utilities': 'Tiện ích',
    'noResult': 'Không tìm thấy kế;t quả phù hợp',
    'searchTool': 'Công cụ tìm kiếm',
  },
  blocks: {
    'start': 'Bắt đầu',
    'end': 'Kết thúc',
    'answer': 'Trả lời',
    'llm': 'LLM',
    'knowledge-retrieval': 'Truy xuất kiến thức',
    'question-classifier': 'Phân loại câu hỏi',
    'if-else': 'NẾU/NGƯỢC LẠI',
    'code': 'Mã',
    'template-transform': 'Mẫu',
    'http-request': 'Yêu cầu HTTP',
    'variable-assigner': 'Trình gán biến',
    'variable-aggregator': 'Trình tổng hợp biến',
    'assigner': 'Trình gán biến',
    'iteration-start': 'Bắt đầu lặp',
    'iteration': 'Lặp',
    'parameter-extractor': 'Trình trích xuất tham số',
    'list-operator': 'Toán tử danh sách',
    'document-extractor': 'Trình trích xuất tài liệu',
  },
  blocksAbout: {
    'start': 'Định nghĩa các tham số ban đầu để khởi chạy quy trình làm việc',
    'end': 'Định nghĩa kết thúc và loại kết quả của quy trình làm việc',
    'answer': 'Định nghĩa nội dung trả lời của cuộc trò chuyện',
    'llm': 'Gọi các mô hình ngôn ngữ lớn để trả lời câu hỏi hoặc xử lý ngôn ngữ tự nhiên',
    'knowledge-retrieval': 'Cho phép truy vấn nội dung văn bản liên quan đến câu hỏi của người dùng từ cơ sở kiến thức',
    'question-classifier': 'Định nghĩa các điều kiện phân loại câu hỏi của người dùng, LLM có thể định nghĩa cách cuộc trò chuyện tiến triển dựa trên mô tả phân loại',
    'if-else': 'Cho phép phân chia quy trình làm việc thành hai nhánh dựa trên điều kiện if/else',
    'code': 'Thực thi một đoạn mã Python hoặc NodeJS để thực hiện logic tùy chỉnh',
    'template-transform': 'Chuyển đổi dữ liệu thành chuỗi bằng cú pháp mẫu Jinja',
    'http-request': 'Cho phép gửi các yêu cầu máy chủ qua giao thức HTTP',
    'variable-assigner': 'Tổng hợp các biến từ nhiều nhánh thành một biến duy nhất để cấu hình đồng nhất các nút cuối.',
    'assigner': 'Nút gán biến được sử dụng để gán giá trị cho các biến có thể ghi (như các biến hội thoại).',
    'variable-aggregator': 'Tổng hợp các biến từ nhiều nhánh thành một biến duy nhất để cấu hình đồng nhất các nút cuối.',
    'iteration': 'Thực hiện nhiều bước trên một đối tượng danh sách cho đến khi tất cả các kết quả được xuất ra.',
    'parameter-extractor': 'Sử dụng LLM để trích xuất các tham số có cấu trúc từ ngôn ngữ tự nhiên để gọi công cụ hoặc yêu cầu HTTP.',
    'document-extractor': 'Được sử dụng để phân tích cú pháp các tài liệu đã tải lên thành nội dung văn bản dễ hiểu bởi LLM.',
    'list-operator': 'Được sử dụng để lọc hoặc sắp xếp nội dung mảng.',
  },
  operator: {
    zoomIn: 'Phóng to',
    zoomOut: 'Thu nhỏ',
    zoomTo50: 'Phóng to 50%',
    zoomTo100: 'Phóng to 100%',
    zoomToFit: 'Phóng to vừa màn hình',
  },
  panel: {
    userInputField: 'Trường đầu vào của người dùng',
    changeBlock: 'Thay đổi khối',
    helpLink: 'Liên kết trợ giúp',
    about: 'Giới thiệu',
    createdBy: 'Tạo bởi ',
    nextStep: 'Bước tiếp theo',
    addNextStep: 'Thêm khối tiếp theo trong quy trình làm việc này',
    selectNextStep: 'Chọn khối tiếp theo',
    runThisStep: 'Chạy bước này',
    checklist: 'Danh sách kiểm tra',
    checklistTip: 'Đảm bảo rằng tất cả các vấn đề đã được giải quyết trước khi xuất bản',
    checklistResolved: 'Tất cả các vấn đề đã được giải quyết',
    organizeBlocks: 'Tổ chức các khối',
    change: 'Thay đổi',
    optional: '(tùy chọn)',
  },
  nodes: {
    common: {
      outputVars: 'Biến đầu ra',
      insertVarTip: 'Chèn biến',
      memory: {
        memory: 'Bộ nhớ',
        memoryTip: 'Cài đặt bộ nhớ cuộc trò chuyện',
        windowSize: 'Kích thước cửa sổ',
        conversationRoleName: 'Tên vai trò cuộc trò chuyện',
        user: 'Tiền tố người dùng',
        assistant: 'Tiền tố trợ lý',
      },
      memories: {
        title: 'Bộ nhớ',
        tip: 'Bộ nhớ cuộc trò chuyện',
        builtIn: 'Tích hợp sẵn',
      },
    },
    start: {
      required: 'bắt buộc',
      inputField: 'Trường đầu vào',
      builtInVar: 'Biến tích hợp sẵn',
      outputVars: {
        query: 'Đầu vào của người dùng',
        memories: {
          des: 'Lịch sử cuộc trò chuyện',
          type: 'loại tin nhắn',
          content: 'nội dung tin nhắn',
        },
        files: 'Danh sách tệp',
      },
      noVarTip: 'Đặt các đầu vào có thể sử dụng trong Quy trình làm việc',
    },
    end: {
      outputs: 'Đầu ra',
      output: {
        type: 'loại đầu ra',
        variable: 'biến đầu ra',
      },
      type: {
        'none': 'Không có',
        'plain-text': 'Văn bản thuần',
        'structured': 'Cấu trúc',
      },
    },
    answer: {
      answer: 'Trả lời',
      outputVars: 'Biến đầu ra',
    },
    llm: {
      model: 'mô hình',
      variables: 'biến',
      context: 'ngữ cảnh',
      contextTooltip: 'Bạn có thể nhập Kiến thức làm ngữ cảnh',
      notSetContextInPromptTip: 'Để kích hoạt tính năng ngữ cảnh, vui lòng điền biến ngữ cảnh vào PROMPT.',
      prompt: 'prompt',
      roleDescription: {
        system: 'Cung cấp hướng dẫn cấp cao cho cuộc trò chuyện',
        user: 'Cung cấp hướng dẫn, câu hỏi hoặc bất kỳ đầu vào văn bản nào cho mô hình',
        assistant: 'Các phản hồi của mô hình dựa trên tin nhắn của người dùng',
      },
      addMessage: 'Thêm tin nhắn',
      vision: 'tầm nhìn',
      files: 'Tệp',
      resolution: {
        name: 'Độ phân giải',
        high: 'Cao',
        low: 'Thấp',
      },
      outputVars: {
        output: 'Nội dung được tạo',
        usage: 'Thông tin sử dụng mô hình',
      },
      singleRun: {
        variable: 'Biến',
      },
      sysQueryInUser: 'sys.query trong tin nhắn của người dùng là bắt buộc',
    },
    knowledgeRetrieval: {
      queryVariable: 'Biến truy vấn',
      knowledge: 'Kiến thức',
      outputVars: {
        output: 'Dữ liệu phân đoạn được truy xuất',
        content: 'Nội dung phân đoạn',
        title: 'Tiêu đề phân đoạn',
        icon: 'Biểu tượng phân đoạn',
        url: 'URL phân đoạn',
        metadata: 'Siêu dữ liệu khác',
      },
    },
    http: {
      inputVars: 'Biến đầu vào',
      api: 'API',
      apiPlaceholder: 'Nhập URL, gõ ‘/’ để chèn biến',
      notStartWithHttp: 'API phải bắt đầu bằng http:// hoặc https://',
      key: 'Khóa',
      value: 'Giá trị',
      bulkEdit: 'Chỉnh sửa hàng loạt',
      keyValueEdit: 'Chỉnh sửa khóa-giá trị',
      headers: 'Tiêu đề',
      params: 'Tham số',
      body: 'Nội dung',
      outputVars: {
        body: 'Nội dung phản hồi',
        statusCode: 'Mã trạng thái phản hồi',
        headers: 'Danh sách tiêu đề phản hồi JSON',
        files: 'Danh sách tệp',
      },
      authorization: {
        'authorization': 'Ủy quyền',
        'authorizationType': 'Loại ủy quyền',
        'no-auth': 'Không có',
        'api-key': 'Khóa API',
        'auth-type': 'Loại xác thực',
        'basic': 'Cơ bản',
        'bearer': 'Bearer',
        'custom': 'Tùy chỉnh',
        'api-key-title': 'Khóa API',
        'header': 'Tiêu đề',
      },
      insertVarPlaceholder: 'gõ \'/\' để chèn biến',
      timeout: {
        title: 'Thời gian chờ',
        connectLabel: 'Thời gian chờ kết nối',
        connectPlaceholder: 'Nhập thời gian chờ kết nối tính bằng giây',
        readLabel: 'Thời gian chờ đọc',
        readPlaceholder: 'Nhập thời gian chờ đọc tính bằng giây',
        writeLabel: 'Thời gian chờ ghi',
        writePlaceholder: 'Nhập thời gian chờ ghi tính bằng giây',
      },
      binaryFileVariable: 'Biến tệp nhị phân',
      type: 'Kiểu',
    },
    code: {
      inputVars: 'Biến đầu vào',
      outputVars: 'Biến đầu ra',
      advancedDependencies: 'Phụ thuộc nâng cao',
      advancedDependenciesTip: 'Thêm một số phụ thuộc được tải trước mà tốn nhiều thời gian hoặc không phải là mặc định tại đây',
      searchDependencies: 'Tìm kiếm phụ thuộc',
    },
    templateTransform: {
      inputVars: 'Biến đầu vào',
      code: 'Mã',
      codeSupportTip: 'Chỉ hỗ trợ Jinja2',
      outputVars: {
        output: 'Nội dung chuyển đổi',
      },
    },
    ifElse: {
      if: 'Nếu',
      else: 'Ngược lại',
      elseDescription: 'Sử dụng để xác định logic sẽ thực hiện khi điều kiện if không được thỏa mãn.',
      and: 'và',
      or: 'hoặc',
      operator: 'Toán tử',
      notSetVariable: 'Vui lòng đặt biến trước',
      comparisonOperator: {
        'contains': 'chứa',
        'not contains': 'không chứa',
        'start with': 'bắt đầu bằng',
        'end with': 'kết thúc bằng',
        'is': 'là',
        'is not': 'không là',
        'empty': 'trống',
        'not empty': 'không trống',
        'null': 'là null',
        'not null': 'không là null',
        'regex match': 'Trận đấu Regex',
        'exists': 'Tồn tại',
        'not exists': 'không tồn tại',
        'not in': 'không có trong',
        'in': 'trong',
        'all of': 'tất cả',
      },
      enterValue: 'Nhập giá trị',
      addCondition: 'Thêm điều kiện',
      conditionNotSetup: 'Điều kiện chưa được thiết lập',
      selectVariable: 'Chọn biến...',
      optionName: {
        video: 'Video',
        image: 'Ảnh',
        url: 'Địa chỉ',
        audio: 'Âm thanh',
        doc: 'Doc',
        localUpload: 'Tải lên cục bộ',
      },
      addSubVariable: 'Biến phụ',
      select: 'Lựa',
    },
    variableAssigner: {
      title: 'Gán biến',
      outputType: 'Loại đầu ra',
      varNotSet: 'Biến chưa được đặt',
      noVarTip: 'Thêm các biến cần gán',
      type: {
        string: 'Chuỗi',
        number: 'Số',
        object: 'Đối tượng',
        array: 'Mảng',
      },
      aggregationGroup: 'Nhóm tổng hợp',
      aggregationGroupTip: 'Bật tính năng này cho phép trình tổng hợp biến tổng hợp nhiều bộ biến.',
      addGroup: 'Thêm nhóm',
      outputVars: {
        varDescribe: 'Đầu ra {{groupName}}',
      },
      setAssignVariable: 'Đặt biến gán',
    },
    assigner: {
      'assignedVariable': 'Biến Được Gán',
      'writeMode': 'Chế Độ Ghi',
      'writeModeTip': 'Khi BIẾN ĐƯỢC GÁN là một mảng, chế độ thêm sẽ thêm vào cuối.',
      'over-write': 'Ghi đè',
      'append': 'Thêm vào',
      'plus': 'Cộng',
      'clear': 'Xóa',
      'setVariable': 'Đặt Biến',
      'variable': 'Biến',
    },
    tool: {
      toAuthorize: 'Ủy quyền',
      inputVars: 'Biến đầu vào',
      outputVars: {
        text: 'nội dung do công cụ tạo ra',
        files: {
          title: 'tệp do công cụ tạo ra',
          type: 'Loại hỗ trợ. Hiện tại chỉ hỗ trợ hình ảnh',
          transfer_method: 'Phương pháp truyền. Giá trị là remote_url hoặc local_file',
          url: 'URL hình ảnh',
          upload_file_id: 'ID tệp đã tải lên',
        },
        json: 'JSON được tạo bởi công cụ',
      },
    },
    questionClassifiers: {
      model: 'mô hình',
      inputVars: 'Biến đầu vào',
      outputVars: {
        className: 'Tên lớp',
      },
      class: 'Lớp',
      classNamePlaceholder: 'Viết tên lớp của bạn',
      advancedSetting: 'Cài đặt nâng cao',
      topicName: 'Tên chủ đề',
      topicPlaceholder: 'Viết tên chủ đề của bạn',
      addClass: 'Thêm lớp',
      instruction: 'Hướng dẫn',
      instructionTip: 'Nhập hướng dẫn bổ sung để giúp trình phân loại câu hỏi hiểu rõ hơn về cách phân loại câu hỏi.',
      instructionPlaceholder: 'Viết hướng dẫn của bạn',
    },
    parameterExtractor: {
      inputVar: 'Biến đầu vào',
      extractParameters: 'Trích xuất tham số',
      importFromTool: 'Nhập từ công cụ',
      addExtractParameter: 'Thêm tham số trích xuất',
      addExtractParameterContent: {
        name: 'Tên',
        namePlaceholder: 'Tên tham số trích xuất',
        type: 'Loại',
        typePlaceholder: 'Loại tham số trích xuất',
        description: 'Mô tả',
        descriptionPlaceholder: 'Mô tả tham số trích xuất',
        required: 'Bắt buộc',
        requiredContent: 'Bắt buộc chỉ được sử dụng làm tài liệu tham khảo cho suy luận mô hình và không phải để xác thực bắt buộc của đầu ra tham số.',
      },
      extractParametersNotSet: 'Tham số trích xuất chưa được thiết lập',
      instruction: 'Hướng dẫn',
      instructionTip: 'Nhập hướng dẫn bổ sung để giúp trình trích xuất tham số hiểu rõ hơn về cách trích xuất tham số.',
      advancedSetting: 'Cài đặt nâng cao',
      reasoningMode: 'Chế độ suy luận',
      reasoningModeTip: 'Bạn có thể chọn chế độ suy luận phù hợp dựa trên khả năng của mô hình để phản hồi các hướng dẫn về việc gọi hàm hoặc prompt.',
      isSuccess: 'Thành công. Khi thành công giá trị là 1, khi thất bại giá trị là 0.',
      errorReason: 'Lý do lỗi',
    },
    iteration: {
      deleteTitle: 'Xóa nút lặp?',
      deleteDesc: 'Xóa nút lặp sẽ xóa tất cả các nút con',
      input: 'Đầu vào',
      output: 'Biến đầu ra',
      iteration_one: '{{count}} Lặp',
      iteration_other: '{{count}} Lặp',
      currentIteration: 'Lặp hiện tại',
      ErrorMethod: {
        operationTerminated: 'Chấm dứt',
        removeAbnormalOutput: 'loại bỏ-bất thường-đầu ra',
        continueOnError: 'Tiếp tục lỗi',
      },
      comma: ',',
      error_other: '{{đếm}} Lỗi',
      error_one: '{{đếm}} Lỗi',
      MaxParallelismTitle: 'Song song tối đa',
      parallelPanelDesc: 'Ở chế độ song song, các tác vụ trong quá trình lặp hỗ trợ thực thi song song.',
      parallelMode: 'Chế độ song song',
      parallelModeEnableTitle: 'Đã bật Chế độ song song',
      errorResponseMethod: 'Phương pháp phản hồi lỗi',
      MaxParallelismDesc: 'Tính song song tối đa được sử dụng để kiểm soát số lượng tác vụ được thực hiện đồng thời trong một lần lặp.',
      answerNodeWarningDesc: 'Cảnh báo chế độ song song: Các nút trả lời, bài tập biến hội thoại và các thao tác đọc/ghi liên tục trong các lần lặp có thể gây ra ngoại lệ.',
      parallelModeEnableDesc: 'Trong chế độ song song, các tác vụ trong các lần lặp hỗ trợ thực thi song song. Bạn có thể định cấu hình điều này trong bảng thuộc tính ở bên phải.',
      parallelModeUpper: 'CHẾ ĐỘ SONG SONG',
    },
    note: {
      editor: {
        openLink: 'Mở',
        italic: 'Nghiêng',
        link: 'Liên kết',
        medium: 'Đau vừa',
        small: 'Nhỏ',
        placeholder: 'Viết ghi chú của bạn...',
        large: 'Lớn',
        showAuthor: 'Hiển thị tác giả',
        bulletList: 'Danh sách dấu đầu dòng',
        bold: 'Dũng cảm',
        unlink: 'Hủy liên kết',
        invalidUrl: 'URL không hợp lệ',
        strikethrough: 'Gạch ngang',
        enterUrl: 'Nhập URL...',
      },
      addNote: 'Thêm ghi chú',
    },
    docExtractor: {
      outputVars: {
        text: 'Văn bản trích xuất',
      },
      learnMore: 'Tìm hiểu thêm',
      inputVar: 'Biến đầu vào',
      supportFileTypes: 'Các loại tệp hỗ trợ: {{types}}.',
    },
    listFilter: {
      outputVars: {
        last_record: 'Kỷ lục cuối cùng',
        first_record: 'Kỷ lục đầu tiên',
        result: 'Lọc kết quả',
      },
      orderBy: 'Đặt hàng theo',
      selectVariableKeyPlaceholder: 'Chọn khóa biến phụ',
      inputVar: 'Biến đầu vào',
      desc: 'DESC',
      filterConditionKey: 'Khóa điều kiện bộ lọc',
      filterConditionComparisonValue: 'Giá trị Điều kiện lọc',
      limit: 'Top N',
      filterCondition: 'Điều kiện lọc',
      asc: 'ASC',
      filterConditionComparisonOperator: 'Toán tử so sánh điều kiện bộ lọc',
    },
  },
  tracing: {
    stopBy: 'Dừng bởi {{user}}',
  },
}

export default translation