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.',
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.',
featuresDescription:'Cải thiện trải nghiệm người dùng trên ứng dụng web',
featuresDocLink:'Tìm hiểu thêm',
needAdd:'Phải thêm nút {{node}}',
needStartNode:'Phải thêm ít nhất một nút bắt đầu',
workflowAsToolDisabledHint:'Xuất bản quy trình làm việc mới nhất và đảm bảo một nút Nhập liệu Người dùng kết nối trước khi cấu hình nó như một công cụ.',
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ỉ.',
description:'Biến hệ thống là biến toàn cục mà bất kỳ nút nào cũng có thể tham chiếu mà không cần nối dây khi kiểu dữ liệu phù hợp, chẳng hạn như ID người dùng cuối và ID quy trình làm việc.',
fieldsDescription:{
conversationId:'ID cuộc trò chuyện',
dialogCount:'Số lần trò chuyện',
userId:'ID người dùng',
triggerTimestamp:'Dấu thời gian ứng dụng bắt đầu chạy',
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',
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.',
'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',
desc:'Nút sẽ ngừng chạy nếu xảy ra ngoại lệ và không được xử lý',
},
defaultValue:{
title:'Giá trị mặc định',
desc:'Khi xảy ra lỗi, hãy chỉ định nội dung đầu ra tĩnh.',
tip:'Nếu lỗi, sẽ trả về giá trị dưới đó.',
inLog:'Ngoại lệ nút, xuất theo giá trị mặc định.',
output:'Giá trị mặc định đầu ra',
},
failBranch:{
title:'Chi nhánh thất bại',
desc:'Khi xảy ra lỗi, nó sẽ thực thi nhánh ngoại lệ',
customize:'Chuyển đến canvas để tùy chỉnh logic nhánh thất bại.',
customizeTip:'Khi nhánh fail được kích hoạt, các ngoại lệ do các nút ném sẽ không chấm dứt quá trình. Thay vào đó, nó sẽ tự động thực thi nhánh lỗi được xác định trước, cho phép bạn linh hoạt cung cấp thông báo lỗi, báo cáo, bản sửa lỗi hoặc bỏ qua các hành động.',
inLog:'Node exception, sẽ tự động thực thi nhánh fail. Đầu ra nút sẽ trả về loại lỗi và thông báo lỗi và chuyển chúng đến hạ lưu.',
},
partialSucceeded:{
tip:'Có {{num}} node trong quá trình chạy bất thường, vui lòng truy tìm để kiểm tra nhật ký.',
},
tip:'Chiến lược xử lý ngoại lệ, được kích hoạt khi một nút gặp phải ngoại lệ.',
tip:'Lọc siêu dữ liệu là quá trình sử dụng các thuộc tính siêu dữ liệu (chẳng hạn như thẻ, danh mục hoặc quyền truy cập) để tinh chỉnh và kiểm soát việc truy xuất thông tin liên quan trong một hệ thống.',
warningTooltip:'Việc vô hiệu hóa xác minh SSL không được khuyến khích cho các môi trường sản xuất. Điều này chỉ nên được sử dụng trong phát triển hoặc thử nghiệm, vì nó làm cho kết nối dễ bị tổn thương trước các mối đe dọa an ninh như cuộc tấn công man-in-the-middle.',
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.',
flattenOutputDesc:'Khi bật, nếu tất cả các kết quả vòng lặp là mảng, chúng sẽ được gộp thành một mảng duy nhất. Khi tắt, các kết quả sẽ giữ nguyên cấu trúc mảng lồng nhau.',
configureTipDesc:'Sau khi cấu hình chiến lược tác nhân, nút này sẽ tự động tải các cấu hình còn lại. Chiến lược sẽ ảnh hưởng đến cơ chế suy luận công cụ nhiều bước.',
tooltip:'Các chiến lược Agentic khác nhau xác định cách hệ thống lập kế hoạch và thực hiện các cuộc gọi công cụ nhiều bước',
label:'Chiến lược đại lý',
configureTip:'Vui lòng định cấu hình chiến lược tác nhân.',
},
pluginInstaller:{
install:'Cài đặt',
installing:'Cài đặt',
},
modelNotInMarketplace:{
title:'Mô hình chưa được cài đặt',
manageInPlugins:'Quản lý trong Plugins',
desc:'Mô hình này được cài đặt từ kho lưu trữ cục bộ hoặc GitHub. Vui lòng sử dụng sau khi cài đặt.',
},
modelNotSupport:{
desc:'Phiên bản plugin đã cài đặt không cung cấp mô hình này.',
title:'Mô hình không được hỗ trợ',
descForVersionSwitch:'Phiên bản plugin đã cài đặt không cung cấp mô hình này. Nhấp để chuyển đổi phiên bản.',
},
modelSelectorTooltips:{
deprecated:'Mô hình này không còn được dùng nữa',
},
outputVars:{
files:{
title:'Tệp do tác nhân tạo',
transfer_method:'Phương thức chuyển khoản. Giá trị là remote_url hoặc local_file',
supportedFileFormats:'Các định dạng tệp được hỗ trợ',
supportedFileFormatsPlaceholder:'Phần mở rộng tệp, e.g. doc',
add:'Thêm nguồn dữ liệu',
},
knowledgeBase:{
chunkStructureTip:{
learnMore:'Tìm hiểu thêm',
message:'Cơ sở kiến thức Dify hỗ trợ ba cấu trúc phân đoạn: General, Parent-child và Q&A. Mỗi cơ sở tri thức chỉ có thể có một cấu trúc. Đầu ra từ nút trước đó phải phù hợp với cấu trúc chunk đã chọn. Lưu ý rằng việc lựa chọn cấu trúc chunking ảnh hưởng đến các phương thức index có sẵn.',
title:'Vui lòng chọn cấu trúc chunk',
},
chunkIsRequired:'Cấu trúc chunk là bắt buộc',
chunkStructure:'Cấu trúc Chunk',
aboutRetrieval:'về phương pháp truy xuất.',
retrievalSettingIsRequired:'Cài đặt truy xuất là bắt buộc',
changeChunkStructure:'Thay đổi cấu trúc chunk',
chooseChunkStructure:'Chọn cấu trúc chunk',
indexMethodIsRequired:'Phương pháp chỉ mục là bắt buộc',
chunksInput:'Mảnh',
chunksInputTip:'Biến đầu vào của nút cơ sở tri thức là Chunks. Loại biến là một đối tượng với một JSON Schema cụ thể mà phải nhất quán với cấu trúc chunk đã chọn.',
oauthClientDescription:'Cấu hình thông tin đăng nhập OAuth của khách hàng để kích hoạt xác thực',
oauthClientSaved:'Cấu hình khách hàng OAuth đã được lưu thành công',
configureApiKey:'Cấu hình Khóa API',
apiKeyDescription:'Cấu hình thông tin xác thực khóa API để xác thực',
apiKeyConfigured:'Khóa API đã được cấu hình thành công',
configurationFailed:'Cấu hình thất bại',
failedToStart:'Không thể bắt đầu quy trình xác thực',
credentialsVerified:'Thông tin đăng nhập đã được xác minh thành công',
credentialVerificationFailed:'Xác minh thông tin đăng nhập thất bại',
verifyAndContinue:'Xác minh & Tiếp tục',
configureParameters:'Cấu hình tham số',
parametersDescription:'Cấu hình tham số và thuộc tính của bộ kích hoạt',
configurationComplete:'Cấu hình hoàn tất',
configurationCompleteDescription:'Bộ kích hoạt của bạn đã được cấu hình thành công',
configurationCompleteMessage:'Cấu hình kích hoạt của bạn đã hoàn tất và sẵn sàng sử dụng.',
parameters:'Tham số',
properties:'Thuộc tính',
propertiesDescription:'Các thuộc tính cấu hình bổ sung cho bộ kích hoạt này',
noConfigurationRequired:'Không cần cấu hình thêm cho bộ kích hoạt này.',
subscriptionName:'Tên thuê bao',
subscriptionNameDescription:'Nhập tên duy nhất cho đăng ký kích hoạt này',
subscriptionNamePlaceholder:'Nhập tên gói đăng ký...',
subscriptionNameRequired:'Tên đăng ký là bắt buộc',
subscriptionRequired:'Cần phải đăng ký',
},
triggerSchedule:{
title:'Lịch trình',
nodeTitle:'Kích hoạt theo lịch',
notConfigured:'Chưa được cấu hình',
useCronExpression:'Sử dụng biểu thức cron',
useVisualPicker:'Sử dụng trình chọn trực quan',
frequency:{
label:'Tần suất',
hourly:'Theo giờ',
daily:'Hàng ngày',
weekly:'Hàng tuần',
monthly:'Hàng tháng',
},
selectFrequency:'Chọn tần suất',
frequencyLabel:'Tần số',
nextExecution:'Lần thi hành tiếp theo',
weekdays:'Các ngày trong tuần',
time:'Thời gian',
cronExpression:'Biểu thức Cron',
nextExecutionTime:'THỜI GIAN THỰC THI TIẾP THEO',
nextExecutionTimes:'5 lần thực thi tiếp theo',
startTime:'Thời gian bắt đầu',
executeNow:'Thực thi ngay',
selectDateTime:'Chọn Ngày & Giờ',
hours:'Giờ',
minutes:'Phút',
onMinute:'Trong một phút',
days:'Ngày',
lastDay:'Ngày cuối cùng',
lastDayTooltip:'Không phải tất cả các tháng đều có 31 ngày. Sử dụng tùy chọn \'ngày cuối cùng\' để chọn ngày cuối cùng của mỗi tháng.',
mode:'Chế độ',
timezone:'Múi giờ',
visualConfig:'Cấu hình trực quan',
monthlyDay:'Ngày hàng tháng',
executionTime:'Thời gian thực hiện',
invalidTimezone:'Múi giờ không hợp lệ',
invalidCronExpression:'Biểu thức cron không hợp lệ',
noValidExecutionTime:'Không thể tính toán thời gian thực thi hợp lệ',
executionTimeCalculationError:'Không thể tính toán thời gian thực thi',
invalidFrequency:'Tần số không hợp lệ',
invalidStartTime:'Thời gian bắt đầu không hợp lệ',
startTimeMustBeFuture:'Thời gian bắt đầu phải là trong tương lai',
invalidTimeFormat:'Định dạng giờ không hợp lệ (dự kiến HH:MM SA/CH)}',
invalidWeekday:'Ngày trong tuần không hợp lệ: {{weekday}}',
invalidMonthlyDay:'Ngày trong tháng phải nằm giữa 1-31 hoặc là "cuối cùng"',
invalidOnMinute:'Phút phải nằm trong khoảng từ 0 đến 59',
invalidExecutionTime:'Thời gian thực thi không hợp lệ',
executionTimeMustBeFuture:'Thời gian thực thi phải nằm trong tương lai',
},
triggerWebhook:{
title:'Kích hoạt Webhook',
nodeTitle:'🔗 Kích hoạt Webhook',
configPlaceholder:'Cấu hình kích hoạt webhook sẽ được thực hiện ở đây',
webhookUrl:'URL Webhook',
webhookUrlPlaceholder:'Nhấp vào tạo để tạo URL webhook',
generate:'Tạo',
copy:'Sao chép',
test:'Kiểm tra',
urlGenerated:'Đã tạo URL webhook thành công',
urlGenerationFailed:'Không thể tạo URL webhook',
urlCopied:'Đã sao chép URL vào bộ nhớ tạm',
method:'Phương pháp',
contentType:'Loại Nội Dung',
queryParameters:'Tham số truy vấn',
headerParameters:'Tham số tiêu đề',
requestBodyParameters:'Tham số trong thân yêu cầu',
parameterName:'Tên biến',
varName:'Tên biến',
varType:'Loại',
varNamePlaceholder:'Nhập tên biến...',
required:'Bắt buộc',
addParameter:'Thêm',
addHeader:'Thêm',
noParameters:'Chưa cấu hình tham số nào',
noQueryParameters:'Chưa cấu hình tham số truy vấn',
noHeaders:'Chưa cấu hình tiêu đề',
noBodyParameters:'Chưa cấu hình tham số thân',
debugUrlTitle:'Đối với các lần chạy thử, luôn sử dụng URL này',
debugUrlCopy:'Nhấn để sao chép',
debugUrlCopied:'Đã sao chép!',
debugUrlPrivateAddressWarning:'URL này dường như là một địa chỉ nội bộ, điều này có thể khiến các yêu cầu webhook không thành công. Bạn có thể thay đổi TRIGGER_URL thành một địa chỉ công khai.',
errorHandling:'Xử lý lỗi',
errorStrategy:'Xử lý lỗi',
responseConfiguration:'Phản hồi',
asyncMode:'Chế độ không đồng bộ',
statusCode:'Mã trạng thái',
responseBody:'Nội dung phản hồi',
responseBodyPlaceholder:'Viết nội dung phản hồi của bạn ở đây',
headers:'Tiêu đề',
validation:{
webhookUrlRequired:'Cần có URL Webhook',
invalidParameterType:'Loại tham số không hợp lệ "{{type}}" cho tham số "{{name}}"',
title:'Đang lắng nghe các sự kiện từ các kích hoạt...',
tip:'Bạn giờ có thể mô phỏng các trình kích hoạt sự kiện bằng cách gửi các yêu cầu thử nghiệm tới điểm cuối HTTP {{nodeName}} hoặc sử dụng nó như một URL phản hồi để gỡ lỗi sự kiện trực tiếp. Tất cả các kết quả đầu ra có thể được xem trực tiếp trong Trình Kiểm tra Biến.',
tipPlugin:'Bây giờ bạn có thể tạo các sự kiện trong {{- pluginName}} và lấy kết quả từ các sự kiện này trong Trình kiểm tra Biến.',
tipSchedule:'Lắng nghe sự kiện từ các tác nhân kích hoạt theo lịch. Chạy theo lịch tiếp theo: {{nextTriggerTime}}',
tipFallback:'Chờ các sự kiện kích hoạt đến. Các kết quả sẽ xuất hiện ở đây.',
exportWarningDesc:'Điều này sẽ xuất phiên bản hiện tại đã được lưu của quy trình làm việc của bạn. Nếu bạn có những thay đổi chưa được lưu trong trình soạn thảo, vui lòng lưu chúng trước bằng cách sử dụng tùy chọn xuất trong bản vẽ quy trình.',
startNodeTitleSuffix:'mở khóa số lần kích hoạt không giới hạn cho mỗi quy trình làm việc',
startNodeDesc:'Bạn đã đạt giới hạn 2 trình kích hoạt cho mỗi quy trình làm việc trong gói này. Nâng cấp để xuất bản quy trình làm việc này.',
},
error:{
startNodeRequired:'Vui lòng thêm một nút bắt đầu trước {{operation}}',
operations:{
connectingNodes:'kết nối các nút',
addingNodes:'thêm nút',
modifyingWorkflow:'chỉnh sửa quy trình công việc',
updatingWorkflow:'cập nhật quy trình công việc',
},
},
customWebhook:'Webhook Tùy Chỉnh',
difyTeam:'Đội ngũ Dify',
triggerStatus:{
enabled:'KÍCH HOẠT',
disabled:'KÍCH HOẠT • VÔ HIỆU HÓA',
},
entryNodeStatus:{
enabled:'BẮT ĐẦU',
disabled:'BẮT ĐẦU • VÔ HIỆU HÓA',
},
onboarding:{
title:'Chọn một nút bắt đầu để bắt đầu',
description:'Các nút bắt đầu khác nhau có những khả năng khác nhau. Đừng lo, bạn luôn có thể thay đổi chúng sau này.',
userInputFull:'Nhập người dùng (nút bắt đầu gốc)',
userInputDescription:'Nút bắt đầu cho phép thiết lập các biến nhập liệu của người dùng, với ứng dụng web, API dịch vụ, máy chủ MCP và quy trình làm việc như các khả năng công cụ.',
trigger:'Kích hoạt',
triggerDescription:'Các trình kích hoạt có thể hoạt động như nút bắt đầu của một quy trình làm việc, chẳng hạn như tác vụ theo lịch, webhook tùy chỉnh hoặc tích hợp với các ứng dụng khác.',