chore: add missing translations (#28631)

This commit is contained in:
yyh
2025-11-25 14:52:17 +08:00
committed by GitHub
parent 58be008676
commit 82dac2eba0
250 changed files with 9194 additions and 324 deletions

View File

@@ -98,6 +98,7 @@ const translation = {
contextVarNotEmpty: 'ตัวแปรการสืบค้นบริบทต้องไม่ว่างเปล่า',
deleteContextVarTip: 'ตัวแปรนี้ถูกตั้งค่าเป็นตัวแปรแบบสอบถามบริบท และการลบตัวแปรนี้จะส่งผลต่อการใช้ความรู้ตามปกติ หากคุณยังต้องการลบ โปรดเลือกใหม่ในส่วนบริบท',
unableToQueryDataSet: 'ไม่สามารถสืบค้นความรู้ได้',
deleteContextVarTitle: 'ต้องการลบตัวแปร “{{varName}}” หรือไม่?',
},
noDataSet: 'ไม่พบความรู้',
notSupportSelectMulti: 'ปัจจุบันรองรับความรู้เพียงหนึ่งความรู้',
@@ -125,6 +126,7 @@ const translation = {
},
title: 'เครื่อง มือ',
tips: 'เครื่องมือมีวิธีการเรียก API มาตรฐาน โดยใช้อินพุตหรือตัวแปรของผู้ใช้เป็นพารามิเตอร์คําขอสําหรับการสืบค้นข้อมูลภายนอกตามบริบท',
toolsInUse: 'เครื่องมือ {{count}} ที่ใช้งาน',
},
conversationHistory: {
editModal: {
@@ -135,6 +137,7 @@ const translation = {
description: 'ตั้งชื่อคํานําหน้าสําหรับบทบาทการสนทนา',
learnMore: 'ศึกษาเพิ่มเติม',
title: 'ประวัติการสนทนา',
tip: 'ประวัติการสนทนายังไม่ได้เปิดใช้งาน กรุณาเพิ่ม <histories> ในคำสั่งด้านบน',
},
toolbox: {
title: 'เครื่อง มือ',
@@ -316,6 +319,8 @@ const translation = {
waitForResponse: 'โปรดรอให้การตอบกลับข้อความก่อนหน้าเสร็จสมบูรณ์',
waitForImgUpload: 'โปรดรอให้ภาพอัปโหลด',
queryRequired: 'ต้องส่งข้อความคําขอ',
nameOfKeyRequired: 'ชื่อของคีย์: {{key}} จำเป็นต้องมี',
valueOfVarRequired: 'ค่า {{key}} ไม่สามารถเว้นว่างได้',
},
warningMessage: {
timeoutExceeded: 'ผลลัพธ์จะไม่แสดงเนื่องจากหมดเวลา โปรดดูบันทึกเพื่อรวบรวมผลลัพธ์ที่สมบูรณ์',
@@ -328,7 +333,13 @@ const translation = {
name: 'ชื่อฟิลด์ป้อนข้อมูลของผู้ใช้',
action: 'การดําเนินการ',
},
varKeyError: {},
varKeyError: {
canNoBeEmpty: '{{key}} จำเป็นต้องมี',
tooLong: '{{key}} ยาวเกินไป ไม่สามารถยาวกว่า 30 ตัวอักษร',
notValid: '{{key}} ไม่ถูกต้อง สามารถใช้ได้เฉพาะตัวอักษร ตัวเลข และเครื่องหมายขีดล่างเท่านั้น',
notStartWithNumber: '{{key}} ไม่สามารถเริ่มต้นด้วยตัวเลขได้',
keyAlreadyExists: '{{key}} มีอยู่แล้ว',
},
otherError: {
queryNoBeEmpty: 'ต้องตั้งค่าคิวรีในพร้อมท์',
promptNoBeEmpty: 'พรอมต์ไม่สามารถว่างเปล่าได้',
@@ -406,6 +417,9 @@ const translation = {
'defaultValuePlaceholder': 'ป้อนค่าเริ่มต้นเพื่อเติมข้อมูลในฟิลด์ล่วงหน้า',
'placeholderPlaceholder': 'ป้อนข้อความที่จะแสดงเมื่อเขตข้อมูลว่างเปล่า',
'tooltipsPlaceholder': 'ป้อนข้อความที่เป็นประโยชน์ที่แสดงเมื่อวางเมาส์เหนือป้ายกํากับ',
'description': 'การตั้งค่าสำหรับตัวแปร {{varName}}',
'notSet': 'ยังไม่ได้ตั้งค่า ลองพิมพ์ {{input}} ในช่องแจ้งนำหน้า',
'maxNumberTip': 'เอกสาร < {{docLimit}}, รูปภาพ < {{imgLimit}}, เสียง < {{audioLimit}}, วิดีโอ < {{videoLimit}}',
},
vision: {
visionSettings: {
@@ -418,6 +432,7 @@ const translation = {
uploadLimit: 'ขีดจํากัดการอัปโหลด',
both: 'ทั้งสอง',
url: 'URL',
resolutionTooltip: 'ความละเอียดต่ำจะช่วยให้โมเดลรับภาพเวอร์ชันความละเอียดต่ำขนาด 512 x 512 และแสดงภาพด้วยงบประมาณ 65 โทเค็น ซึ่งช่วยให้ API ตอบสนองได้เร็วขึ้นและใช้โทเค็นนำเข้าน้อยลงสำหรับกรณีการใช้งานที่ไม่ต้องการรายละเอียดสูง\n\nความละเอียดสูงจะเริ่มจากการให้โมเดลเห็นภาพความละเอียดต่ำก่อน จากนั้นสร้างการครอปภาพรายละเอียดของภาพอินพุตเป็นสี่เหลี่ยมขนาด 512px ตามขนาดภาพอินพุต แต่ละการครอปละเอียดจะใช้โทเค็นสองเท่า รวมเป็น 129 โทเค็น',
},
onlySupportVisionModelTip: 'รองรับเฉพาะโมเดลการมองเห็น',
name: 'การมองเห็น',
@@ -446,6 +461,10 @@ const translation = {
add: 'เพิ่ม',
title: 'ที่เปิดการสนทนา',
noDataPlaceHolder: 'การเริ่มการสนทนากับผู้ใช้สามารถช่วยให้ AI สร้างความสัมพันธ์ที่ใกล้ชิดกับพวกเขาในแอปพลิเคชันการสนทนา',
placeholder: 'เขียนข้อความเปิดของคุณที่นี่ คุณสามารถใช้ตัวแปร ลองพิมพ์ {{variable}}',
openingQuestionPlaceholder: 'คุณสามารถใช้ตัวแปร ลองพิมพ์ {{variable}} ดูสิ',
varTip: 'คุณสามารถใช้ตัวแปรได้ ลองพิมพ์ {{variable}}',
notIncludeKey: 'คำสั่งเริ่มต้นไม่ได้รวมตัวแปร: {{key}}. กรุณาเพิ่มตัวแปรนี้ในคำสั่งเริ่มต้นด้วย',
},
modelConfig: {
modeType: {
@@ -538,6 +557,8 @@ const translation = {
debugAsSingleModel: 'ดีบักเป็นโมเดลเดียว',
duplicateModel: 'สำเนา',
autoAddVar: 'ตัวแปรที่ไม่ได้กําหนดอ้างอิงในพรอมต์ล่วงหน้าคุณต้องการเพิ่มในแบบฟอร์มการป้อนข้อมูลของผู้ใช้หรือไม่?',
promptTip: 'พรอมต์ช่วยชี้แนะแบบตอบสนองของ AI ด้วยคำแนะนำและข้อจำกัด ใส่ตัวแปรเช่น {{input}} พรอมต์นี้จะมองไม่เห็นสำหรับผู้ใช้',
notSetVar: 'ตัวแปรช่วยให้ผู้ใช้สามารถใส่คำกระตุ้นหรือข้อคิดเห็นเริ่มต้นเมื่อกรอกแบบฟอร์ม คุณสามารถลองใส่ "{{input}}" ในคำกระตุ้นได้',
}
export default translation

View File

@@ -19,6 +19,7 @@ const translation = {
tokens: 'โท เค็น',
user: 'ผู้ใช้ปลายทางหรือบัญชี',
version: 'เวอร์ชัน',
triggered_from: 'ถูกกระตุ้นโดย',
},
pagination: {
previous: 'ก่อนหน้า',
@@ -97,6 +98,15 @@ const translation = {
finalProcessing: 'การประมวลผลขั้นสุดท้าย',
},
dateFormat: 'วัน/เดือน/ปี',
triggerBy: {
debugging: 'การแก้ไขข้อบกพร่อง',
appRun: 'เว็บแอป',
webhook: 'เว็บฮุค',
schedule: 'ตารางเวลา',
plugin: 'ปลั๊กอิน',
ragPipelineRun: 'กระบวนการ RAG',
ragPipelineDebugging: 'การดีบัก RAG',
},
}
export default translation

View File

@@ -114,7 +114,11 @@ const translation = {
},
},
launch: 'เรือยนต์',
enableTooltip: {},
enableTooltip: {
description: 'เพื่อเปิดใช้งานฟีเจอร์นี้ โปรดเพิ่มโหนดการป้อนข้อมูลผู้ใช้ไปยังแคนวาส (อาจมีอยู่แล้วในร่าง ใช้งานได้หลังจากเผยแพร่)',
learnMore: 'เรียนรู้เพิ่มเติม',
},
title: 'เว็บแอป',
},
apiInfo: {
title: 'API บริการแบ็กเอนด์',
@@ -126,7 +130,14 @@ const translation = {
running: 'ให้บริการ',
disable: 'พิการ',
},
triggerInfo: {},
triggerInfo: {
title: 'สิ่งกระตุ้น',
explanation: 'การจัดการทริกเกอร์เวิร์กโฟลว์',
triggersAdded: 'เพิ่มทริกเกอร์เรียบร้อยแล้ว',
noTriggerAdded: 'ยังไม่ได้เพิ่มทริกเกอร์',
triggerStatusDescription: 'สถานะของโหนดตัวเรียกปรากฏที่นี่ (อาจมีอยู่แล้วในร่าง และจะมีผลหลังจากเผยแพร่)',
learnAboutTriggers: 'เรียนรู้เกี่ยวกับทริกเกอร์',
},
disableTooltip: {
triggerMode: 'โหมดโหนดทริกเกอร์ไม่รองรับฟีเจอร์ {{feature}}.',
},

View File

@@ -98,6 +98,8 @@ const translation = {
triggerEvents: {
unlimited: 'เหตุการณ์ทริกเกอร์ไม่จำกัด',
tooltip: 'จำนวนเหตุการณ์ที่เริ่มเวิร์กโฟลว์โดยอัตโนมัติผ่านปลั๊กอิน ตารางเวลา หรือทริกเกอร์เว็บฮุก',
sandbox: '{{count,number}} เหตุการณ์ทริกเกอร์',
professional: '{{count,number}} เหตุการณ์ที่ก่อให้เกิดต่อเดือน',
},
workflowExecution: {
standard: 'การดำเนินงานเวิร์กโฟลว์มาตรฐาน',
@@ -107,6 +109,11 @@ const translation = {
},
startNodes: {
unlimited: 'ทริกเกอร์/เวิร์กโฟลว์ไม่จำกัด',
limited: 'สูงสุด {{count}} ตัวกระตุ้น/เวิร์กโฟลว์',
},
title: {
plans: 'แผน',
description: 'เลือกแผนที่เหมาะสมที่สุดกับความต้องการของทีมคุณ',
},
},
plans: {
@@ -129,16 +136,14 @@ const translation = {
name: 'กิจการ',
description: 'รับความสามารถและการสนับสนุนเต็มรูปแบบสําหรับระบบที่สําคัญต่อภารกิจขนาดใหญ่',
includesTitle: 'ทุกอย่างในแผนทีม รวมถึง:',
features: {
},
features: ['โซลูชันการปรับใช้ที่ปรับขนาดได้สำหรับองค์กร', 'การอนุญาตใบอนุญาตเชิงพาณิชย์', 'ฟีเจอร์สำหรับองค์กรแบบพิเศษ', 'หลายพื้นที่ทำงานและการจัดการองค์กร', 'SSO', 'ข้อตกลงระดับการให้บริการที่เจรจาโดยพันธมิตร Dify', 'ระบบความปลอดภัยและการควบคุมขั้นสูง', 'การอัปเดตและการบำรุงรักษาโดย Dify อย่างเป็นทางการ', 'การสนับสนุนทางเทคนิคระดับมืออาชีพ'],
btnText: 'ติดต่อฝ่ายขาย',
price: 'ที่กำหนดเอง',
for: 'สำหรับทีมขนาดใหญ่',
priceTip: 'การเรียกเก็บเงินประจำปีเท่านั้น',
},
community: {
features: {
},
features: ['คุณลักษณะหลักทั้งหมดถูกปล่อยภายใต้ที่เก็บสาธารณะ', 'พื้นที่ทำงานเดียว', 'เป็นไปตามใบอนุญาตแบบเปิดของ Dify'],
name: 'ชุมชน',
price: 'ฟรี',
includesTitle: 'คุณสมบัติเสรี:',
@@ -147,8 +152,7 @@ const translation = {
for: 'สำหรับผู้ใช้ส่วนบุคคล ทีมขนาดเล็ก หรือโครงการที่ไม่ใช่เชิงพาณิชย์',
},
premium: {
features: {
},
features: ['ความน่าเชื่อถือที่บริหารเองโดยผู้ให้บริการคลาวด์หลายราย', 'พื้นที่ทำงานเดียว', 'การปรับแต่งโลโก้และแบรนด์ของเว็บแอป', 'บริการอีเมลและแชทด่วน'],
priceTip: 'อิงตามตลาดคลาวด์',
for: 'สำหรับองค์กรและทีมขนาดกลาง',
btnText: 'รับพรีเมียมใน',
@@ -184,6 +188,7 @@ const translation = {
vectorSpaceTooltip: 'เอกสารที่ใช้โหมดการจัดทำดัชนีคุณภาพสูงจะใช้ทรัพยากรเก็บข้อมูลความรู้ เมื่อการเก็บข้อมูลความรู้ถึงขีดจำกัด เอกสารใหม่จะไม่สามารถอัปโหลดได้.',
triggerEvents: 'เหตุการณ์กระตุ้น',
perMonth: 'ต่อเดือน',
resetsIn: 'รีเซ็ตในอีก {{count,number}} วัน',
},
teamMembers: 'สมาชิกในทีม',
triggerLimitModal: {

View File

@@ -65,6 +65,12 @@ const translation = {
deleteConfirmTitle: 'ลบหรือไม่?',
confirmAction: 'กรุณายืนยันการกระทำของคุณ',
yes: 'ใช่',
noSearchResults: 'ไม่พบ {{content}}',
resetKeywords: 'รีเซ็ตคำสำคัญ',
selectCount: '{{count}} ที่เลือก',
searchCount: 'ค้นหา {{count}} {{content}}',
noSearchCount: '0 {{content}}',
now: 'ตอนนี้',
},
errorMsg: {
fieldRequired: '{{field}} เป็นสิ่งจําเป็น',
@@ -73,6 +79,7 @@ const translation = {
placeholder: {
input: 'กรุณากรอก',
select: 'กรุณาเลือก',
search: 'ค้นหา...',
},
voice: {
language: {
@@ -764,6 +771,13 @@ const translation = {
label: {
optional: '(ไม่บังคับ)',
},
noData: 'ไม่มีข้อมูล',
dynamicSelect: {
error: 'การโหลดตัวเลือกล้มเหลว',
noData: 'ไม่มีตัวเลือก available',
loading: 'กำลังโหลดตัวเลือก...',
selected: '{{count}} ที่ถูกเลือก',
},
}
export default translation

View File

@@ -81,7 +81,10 @@ const translation = {
ok: 'ตกลง, ได้',
},
learnMore: 'ศึกษาเพิ่มเติม',
sort: {},
sort: {
uploadTime: 'เวลาที่อัปโหลด',
hitCount: 'จำนวนการดึงข้อมูล',
},
},
metadata: {
title: 'ข้อมูลเมตา',

View File

@@ -34,6 +34,7 @@ const translation = {
publishPipeline: {
success: {
message: 'เผยแพร่ไปป์ไลน์ความรู้',
tip: '<CustomLink>ไปที่เอกสาร</CustomLink> เพื่อเพิ่มหรือจัดการเอกสาร',
},
error: {
message: 'ไม่สามารถเผยแพร่ไปป์ไลน์ความรู้',
@@ -56,6 +57,7 @@ const translation = {
details: {
structure: 'โครงสร้าง',
structureTooltip: 'โครงสร้างก้อนกําหนดวิธีการแยกและจัดทําดัชนีเอกสาร โดยเสนอโหมดทั่วไป ผู้ปกครอง-รอง และ Q&A และไม่ซ้ํากันสําหรับแต่ละฐานความรู้',
createdBy: 'โดย {{author}}',
},
testRun: {
steps: {
@@ -112,23 +114,32 @@ const translation = {
characters: 'อักขระ',
backToDataSource: 'แหล่งข้อมูล',
title: 'เพิ่มเอกสาร',
selectOnlineDocumentTip: 'ประมวลผลได้สูงสุด {{count}} หน้า',
selectOnlineDriveTip: 'ประมวลผลไฟล์ได้สูงสุด {{count}} ไฟล์ แต่ละไฟล์ไม่เกิน {{fileSize}} MB',
},
documentSettings: {
title: 'การตั้งค่าเอกสาร',
},
onlineDocument: {},
onlineDocument: {
pageSelectorTitle: '{{name}} หน้า',
},
onlineDrive: {
breadcrumbs: {
searchPlaceholder: 'ค้นหาไฟล์...',
allFiles: 'ไฟล์ทั้งหมด',
allBuckets: 'ที่เก็บข้อมูลบนคลาวด์ทั้งหมด',
searchResult: 'พบ {{searchResultsLength}} รายการในโฟลเดอร์ "{{folderName}}"',
},
resetKeywords: 'รีเซ็ตคีย์เวิร์ด',
emptySearchResult: 'ไม่พบสิ่งของ',
notSupportedFileType: 'ไม่รองรับชนิดแฟ้มนี้',
emptyFolder: 'โฟลเดอร์นี้ว่างเปล่า',
notConnected: '{{name}} ไม่ได้เชื่อมต่อ',
notConnectedTip: 'เพื่อซิงค์กับ {{name}} ต้องสร้างการเชื่อมต่อกับ {{name}} ก่อน',
},
credentialSelector: {
name: '{{credentialName}}\'s {{pluginName}}',
},
credentialSelector: {},
conversion: {
confirm: {
title: 'การยืนยัน',
@@ -149,6 +160,7 @@ const translation = {
editPipelineInfo: 'แก้ไขข้อมูลไปป์ไลน์',
pipelineNameAndIcon: 'ชื่อและไอคอนไปป์ไลน์',
knowledgeDescriptionPlaceholder: 'อธิบายสิ่งที่อยู่ในฐานความรู้นี้ คําอธิบายโดยละเอียดช่วยให้ AI สามารถเข้าถึงเนื้อหาของชุดข้อมูลได้แม่นยํายิ่งขึ้น หากว่างเปล่า Dify จะใช้กลยุทธ์การโจมตีเริ่มต้น (ไม่บังคับ)',
configurationTip: 'กำหนดค่า {{pluginName}}',
}
export default translation

View File

@@ -233,6 +233,10 @@ const translation = {
disabled: 'ถูกปิดใช้งาน',
title: 'บริการ API',
},
docAllEnabled_one: '{{count}} เอกสารถูกเปิดใช้งาน',
docAllEnabled_other: 'เอกสาร {{count}} ทั้งหมดเปิดใช้งานแล้ว',
partialEnabled_one: 'รวม {{count}} เอกสาร, {{num}} ใช้งานได้',
partialEnabled_other: 'รวม {{count}} เอกสาร, {{num}} ใช้งานได้',
}
export default translation

View File

@@ -52,6 +52,7 @@ const translation = {
},
isAboutToExpire: {
summary: 'ไม่ต้องกังวล — สิ่งนี้จะไม่กระทบต่อการสมัครสมาชิกปัจจุบันของคุณ แต่คุณจะไม่ได้รับส่วนลดการศึกษาขณะต่ออายุเว้นแต่คุณจะยืนยันสถานะของคุณอีกครั้ง.',
title: 'สถานะการศึกษาของคุณจะหมดอายุในวันที่ {{date}}',
},
stillInEducation: {
title: 'ยังอยู่ในวัยเรียนใช่ไหม?',

View File

@@ -28,10 +28,12 @@ const translation = {
viewDetails: 'ดูรายละเอียด',
error: 'เกิดข้อผิดพลาดระหว่างการดําเนินการ',
loading: 'กำลังประมวลผล...กรุณารอ',
footerTip: 'ในโหมดทดสอบ ลองดูตัวอย่างได้สูงสุด {{count}} ชิ้น',
},
},
ragToolSuggestions: {
title: 'คําแนะนําสําหรับ RAG',
noRecommendationPlugins: 'ไม่มีปลั๊กอินที่แนะนำ ค้นหาเพิ่มเติมได้ใน <CustomLink>ตลาด</CustomLink>',
},
}

View File

@@ -0,0 +1,186 @@
const translation = {
subscription: {
title: 'การสมัครสมาชิก',
listNum: 'การสมัครสมาชิก {{num}}',
empty: {
title: 'ไม่มีการสมัครสมาชิก',
button: 'สมัครสมาชิกใหม่',
},
createButton: {
oauth: 'การสมัครสมาชิกใหม่ด้วย OAuth',
apiKey: 'การสมัครสมาชิกใหม่ด้วยคีย์ API',
manual: 'วาง URL เพื่อสร้างการสมัครสมาชิกใหม่',
},
createSuccess: 'การสมัครสมาชิกสร้างเรียบร้อยแล้ว',
createFailed: 'ไม่สามารถสร้างการสมัครสมาชิกได้',
maxCount: 'สมาชิกสูงสุด {{num}}',
selectPlaceholder: 'เลือกการสมัครสมาชิก',
noSubscriptionSelected: 'ยังไม่ได้เลือกการสมัครสมาชิก',
subscriptionRemoved: 'ยกเลิกการสมัครแล้ว',
list: {
title: 'การสมัครสมาชิก',
addButton: 'เพิ่ม',
tip: 'รับเหตุการณ์ผ่านการสมัครสมาชิก',
item: {
enabled: 'เปิดใช้งาน',
disabled: 'ปิดการใช้งาน',
credentialType: {
api_key: 'คีย์ API',
oauth2: 'OAuth',
unauthorized: 'คู่มือ',
},
actions: {
delete: 'ลบ',
deleteConfirm: {
title: 'ลบ {{name}} หรือไม่?',
success: 'การสมัครสมาชิก {{name}} ถูกลบเรียบร้อยแล้ว',
error: 'ลบการสมัครสมาชิก {{name}} ไม่สำเร็จ',
content: 'เมื่อถูกลบแล้ว การสมัครสมาชิกนี้ไม่สามารถกู้คืนได้ กรุณายืนยัน',
contentWithApps: 'การสมัครสมาชิกปัจจุบันถูกอ้างอิงโดยแอปพลิเคชัน {{count}} การลบการสมัครสมาชิกนี้จะทำให้แอปพลิเคชันที่ถูกกำหนดค่าไม่สามารถรับเหตุการณ์การสมัครสมาชิกได้',
confirm: 'ยืนยันการลบ',
cancel: 'ยกเลิก',
confirmInputWarning: 'กรุณาใส่ชื่อที่ถูกต้องเพื่อยืนยัน',
confirmInputPlaceholder: 'ใส่ "{{name}}" เพื่อยืนยัน',
confirmInputTip: 'โปรดใส่ “{{name}}” เพื่อยืนยัน',
},
},
status: {
active: 'ใช้งานอยู่',
inactive: 'ไม่ทำงาน',
},
usedByNum: 'ใช้โดยเวิร์กโฟลว์ {{num}}',
noUsed: 'ไม่ได้ใช้เวิร์กโฟลว์',
},
},
addType: {
title: 'เพิ่มการสมัครสมาชิก',
description: 'เลือกวิธีที่คุณต้องการสร้างการสมัครรับข้อมูลทริกเกอร์ของคุณ',
options: {
apikey: {
title: 'สร้างด้วยคีย์ API',
description: 'สร้างการสมัครสมาชิกโดยอัตโนมัติโดยใช้ข้อมูลรับรอง API',
},
oauth: {
title: 'สร้างด้วย OAuth',
description: 'อนุญาตการใช้งานกับแพลตฟอร์มภายนอกเพื่อสร้างการสมัครสมาชิก',
clientSettings: 'การตั้งค่าไคลเอนต์ OAuth',
clientTitle: 'ไคลเอนต์ OAuth',
default: 'ค่าเริ่มต้น',
custom: 'กำหนดเอง',
},
manual: {
title: 'การตั้งค่าแบบแมนนวล',
description: 'วาง URL เพื่อสร้างการสมัครสมาชิกใหม่',
tip: 'กำหนดค่า URL บนแพลตฟอร์มของบุคคลที่สามด้วยตนเอง',
},
},
},
},
modal: {
steps: {
verify: 'ยืนยัน',
configuration: 'การกำหนดค่า',
},
common: {
cancel: 'ยกเลิก',
back: 'กลับ',
next: 'ถัดไป',
create: 'สร้าง',
verify: 'ยืนยัน',
authorize: 'อนุญาต',
creating: 'กำลังสร้าง...',
verifying: 'กำลังตรวจสอบ...',
authorizing: 'กำลังอนุมัติ...',
},
oauthRedirectInfo: 'เนื่องจากไม่พบรหัสลับของระบบลูกค้าสำหรับผู้ให้บริการเครื่องมือนี้ จำเป็นต้องตั้งค่าเอง สำหรับ redirect_uri กรุณาใช้',
apiKey: {
title: 'สร้างด้วยคีย์ API',
verify: {
title: 'ตรวจสอบข้อมูลรับรอง',
description: 'กรุณาให้ข้อมูลรับรอง API ของคุณเพื่อยืนยันการเข้าถึง',
error: 'การตรวจสอบข้อมูลรับรองล้มเหลว โปรดตรวจสอบคีย์ API ของคุณ',
success: 'การยืนยันข้อมูลประจำตัวสำเร็จ',
},
configuration: {
title: 'ตั้งค่าการสมัครสมาชิก',
description: 'ตั้งค่าพารามิเตอร์การสมัครของคุณ',
},
},
oauth: {
title: 'สร้างด้วย OAuth',
authorization: {
title: 'การอนุญาต OAuth',
description: 'อนุญาตให้ Dify เข้าถึงบัญชีของคุณ',
redirectUrl: 'เปลี่ยนเส้นทาง URL',
redirectUrlHelp: 'ใช้ URL นี้ในการตั้งค่าแอป OAuth ของคุณ',
authorizeButton: 'อนุญาตด้วย {{provider}}',
waitingAuth: 'กำลังรอการอนุญาต...',
authSuccess: 'การอนุญาตสำเร็จ',
authFailed: 'ไม่สามารถดึงข้อมูลการอนุญาต OAuth ได้',
waitingJump: 'ได้รับอนุญาต กำลังรอการบินขึ้น',
},
configuration: {
title: 'ตั้งค่าการสมัครสมาชิก',
description: 'ตั้งค่าพารามิเตอร์การสมัครของคุณหลังจากได้รับอนุญาต',
success: 'การตั้งค่า OAuth สำเร็จ',
failed: 'การตั้งค่า OAuth ล้มเหลว',
},
remove: {
success: 'การลบ OAuth สำเร็จ',
failed: 'การลบ OAuth ล้มเหลว',
},
save: {
success: 'บันทึกการตั้งค่า OAuth สำเร็จแล้ว',
},
},
manual: {
title: 'การตั้งค่าด้วยตนเอง',
description: 'ตั้งค่าการสมัครสมาชิกเว็บฮุคของคุณด้วยตนเอง',
logs: {
title: 'บันทึกคำขอ',
request: 'คำขอ',
loading: 'กำลังรอคำขอจาก {{pluginName}} ...',
},
},
form: {
subscriptionName: {
label: 'ชื่อการสมัครสมาชิก',
placeholder: 'ใส่ชื่อการสมัครสมาชิก',
required: 'จำเป็นต้องระบุชื่อการสมัครสมาชิก',
},
callbackUrl: {
label: 'URL สำหรับเรียกกลับ',
description: 'URL นี้จะได้รับเหตุการณ์เว็บฮุค',
tooltip: 'จัดเตรียมจุดปลายทางที่สามารถเข้าถึงได้สาธารณะเพื่อรับคำขอกลับเรียกจากผู้ให้บริการทริกเกอร์',
placeholder: 'กำลังสร้าง...',
privateAddressWarning: 'URL นี้ดูเหมือนจะเป็นที่อยู่ภายใน ซึ่งอาจทำให้การร้องขอ webhook ล้มเหลว คุณสามารถเปลี่ยน TRIGGER_URL เป็นที่อยู่สาธารณะได้',
},
},
errors: {
createFailed: 'ไม่สามารถสร้างการสมัครสมาชิกได้',
verifyFailed: 'ไม่สามารถตรวจสอบข้อมูลประจำตัวได้',
authFailed: 'การอนุญาตล้มเหลว',
networkError: 'เกิดข้อผิดพลาดของเครือข่าย กรุณาลองใหม่',
},
},
events: {
title: 'กิจกรรมที่มีอยู่',
description: 'เหตุการณ์ที่ปลั๊กอินทริกเกอร์นี้สามารถสมัครรับได้',
empty: 'ไม่มีเหตุการณ์ใดๆ',
event: 'งานกิจกรรม',
events: 'เหตุการณ์',
actionNum: '{{num}} {{event}} รวมอยู่ด้วย',
item: {
parameters: 'พารามิเตอร์ {{count}}',
noParameters: 'ไม่มีพารามิเตอร์',
},
output: 'ผลลัพธ์',
},
node: {
status: {
warning: 'ตัดการเชื่อมต่อ',
},
},
}
export default translation

View File

@@ -7,6 +7,7 @@ const translation = {
all: 'ทั้งหมด',
bundles: 'ชุดรวม',
datasources: 'แหล่งข้อมูล',
triggers: 'สิ่งกระตุ้น',
},
categorySingle: {
tool: 'เครื่องมือ',
@@ -15,6 +16,7 @@ const translation = {
model: 'แบบ',
bundle: 'มัด',
datasource: 'แหล่งข้อมูล',
trigger: 'ทริกเกอร์',
},
list: {
source: {
@@ -45,6 +47,7 @@ const translation = {
viewDetail: 'ดูรายละเอียด',
checkUpdate: 'ตรวจสอบการอัปเดต',
remove: 'ถอด',
back: 'กลับ',
},
toolSelector: {
settings: 'การตั้งค่าผู้ใช้',
@@ -306,6 +309,12 @@ const translation = {
partialUPdate: 'ปลั๊กอิน {{num}} ตัวต่อไปนี้จะอัปเดตให้อัตโนมัติเท่านั้น',
changeTimezone: 'ในการเปลี่ยนเขตเวลา ให้ไปที่ <setTimezone>การตั้งค่า</setTimezone>',
},
readmeInfo: {
title: 'อ่านฉัน',
needHelpCheckReadme: 'ต้องการความช่วยเหลือ? ตรวจสอบไฟล์ README',
noReadmeAvailable: 'ไม่มีไฟล์ README',
failedToFetch: 'ไม่สามารถดึงไฟล์ README ได้',
},
}
export default translation

View File

@@ -113,6 +113,15 @@ const translation = {
currentWorkflow: 'เวิร์กโฟลว์ปัจจุบัน',
currentView: 'ปัจจุบัน View',
moreActions: 'การดําเนินการเพิ่มเติม',
listening: 'การฟัง',
chooseStartNodeToRun: 'เลือกโหนดเริ่มต้นเพื่อรัน',
runAllTriggers: 'เรียกใช้งานตัวทริกเกอร์ทั้งหมด',
features: 'คุณสมบัติ',
featuresDescription: 'ปรับปรุงประสบการณ์ผู้ใช้ของเว็บแอป',
featuresDocLink: 'เรียนรู้เพิ่มเติม',
needAdd: 'ต้องเพิ่มโหนด {{node}}',
needStartNode: 'ต้องเพิ่มโหนดเริ่มต้นอย่างน้อยหนึ่งโหนด',
workflowAsToolDisabledHint: 'เผยแพร่เวิร์กโฟลว์ล่าสุดและตรวจสอบให้แน่ใจว่ามีโหนดป้อนข้อมูลผู้ใช้เชื่อมต่อก่อนที่จะกำหนดค่าเป็นเครื่องมือ',
},
env: {
envPanelTitle: 'ตัวแปรสภาพแวดล้อม',
@@ -219,6 +228,7 @@ const translation = {
invalidVariable: 'ตัวแปรไม่ถูกต้อง',
noValidTool: '{{field}} ไม่ได้เลือกเครื่องมือที่ถูกต้อง',
toolParameterRequired: '{{field}}: พารามิเตอร์ [{{param}}] เป็นสิ่งจําเป็น',
startNodeRequired: 'โปรดเพิ่มโหนดเริ่มต้นก่อน {{operation}}',
},
singleRun: {
testRun: 'ทดสอบการทํางาน',
@@ -250,6 +260,21 @@ const translation = {
'addAll': 'เพิ่มทั้งหมด',
'searchDataSource': 'ค้นหาแหล่งข้อมูล',
'sources': 'แหล่ง',
'start': 'เริ่ม',
'searchTrigger': 'ค้นหาทริกเกอร์...',
'allTriggers': 'ทริกเกอร์ทั้งหมด',
'noPluginsFound': 'ไม่พบปลั๊กอิน',
'requestToCommunity': 'คำขอถึงชุมชน',
'featuredTools': 'เด่น',
'showMoreFeatured': 'แสดงเพิ่มเติม',
'showLessFeatured': 'แสดงน้อยลง',
'installed': 'ติดตั้งแล้ว',
'pluginByAuthor': 'โดย {{author}}',
'usePlugin': 'เลือกเครื่องมือ',
'hideActions': 'ซ่อนเครื่องมือ',
'noFeaturedPlugins': 'ค้นพบเครื่องมือเพิ่มเติมใน Marketplace',
'noFeaturedTriggers': 'ค้นพบทริกเกอร์เพิ่มเติมใน Marketplace',
'startDisabledTip': 'โหนดทริกเกอร์และโหนดป้อนข้อมูลของผู้ใช้ไม่สามารถใช้ร่วมกันได้',
},
blocks: {
'start': 'เริ่ม',
@@ -276,6 +301,10 @@ const translation = {
'loop-end': 'ออกจากลูป',
'knowledge-index': 'ฐานความรู้',
'datasource': 'แหล่งข้อมูล',
'originalStartNode': 'โหนดเริ่มต้นเดิม',
'trigger-schedule': 'ทริกเกอร์ตามตาราง',
'trigger-webhook': 'ทริกเกอร์เว็บฮุค',
'trigger-plugin': 'ทริกเกอร์ปลั๊กอิน',
},
blocksAbout: {
'start': 'กําหนดพารามิเตอร์เริ่มต้นสําหรับการเปิดใช้เวิร์กโฟลว์',
@@ -300,6 +329,9 @@ const translation = {
'loop-end': 'เทียบเท่ากับ "break" โหนดนี้ไม่มีรายการการกำหนดค่า เมื่อร่างกายของลูปถึงโหนดนี้ ลูปจะสิ้นสุดลง.',
'knowledge-index': 'ฐานความรู้เกี่ยวกับ',
'datasource': 'แหล่งข้อมูลเกี่ยวกับ',
'trigger-schedule': 'ตัวทริกเกอร์เวิร์กโฟลว์ตามเวลา ซึ่งเริ่มเวิร์กโฟลว์ตามกำหนดการ',
'trigger-webhook': 'Webhook Trigger รับการส่งข้อมูลแบบ HTTP จากระบบของบุคคลที่สามเพื่อเรียกใช้งานเวิร์กโฟลว์โดยอัตโนมัติ',
'trigger-plugin': 'ทริกเกอร์การรวมจากบุคคลที่สามที่เริ่มการทำงานอัตโนมัติจากเหตุการณ์ของแพลตฟอร์มภายนอก',
},
operator: {
zoomIn: 'ซูมเข้า',
@@ -340,6 +372,8 @@ const translation = {
maximize: 'เพิ่มประสิทธิภาพผ้าใบ',
scrollToSelectedNode: 'เลื่อนไปยังโหนดที่เลือก',
optional_and_hidden: '(ตัวเลือก & ซ่อน)',
goTo: 'ไปที่',
startNode: 'เริ่มต้นโหนด',
},
nodes: {
common: {
@@ -787,6 +821,8 @@ const translation = {
removeAbnormalOutput: 'ลบเอาต์พุตที่ผิดปกติ',
},
answerNodeWarningDesc: 'คําเตือนโหมดคู่ขนาน: โหนดคําตอบ การกําหนดตัวแปรการสนทนา และการดําเนินการอ่าน/เขียนแบบถาวรภายในการวนซ้ําอาจทําให้เกิดข้อยกเว้น',
flattenOutput: 'แบนผลลัพธ์',
flattenOutputDesc: 'เมื่อเปิดใช้งาน หากผลลัพธ์ของแต่ละรอบเป็นอาร์เรย์ทั้งหมด พวกมันจะถูกรวมเป็นอาร์เรย์เดียว เมื่อปิดใช้งาน ผลลัพธ์จะยังคงมีโครงสร้างอาร์เรย์ซ้อนกันอยู่',
},
note: {
addNote: 'เพิ่มหมายเหตุ',
@@ -963,6 +999,144 @@ const translation = {
embeddingModelIsInvalid: 'แบบจำลองการฝังไม่ถูกต้อง',
rerankingModelIsInvalid: 'โมเดลการจัดอันดับใหม่ไม่ถูกต้อง',
},
triggerPlugin: {
authorized: 'ได้รับอนุญาต',
notConfigured: 'ยังไม่ได้ตั้งค่า',
notAuthorized: 'ไม่มีสิทธิ์',
selectSubscription: 'เลือกการสมัครสมาชิก',
availableSubscriptions: 'การสมัครสมาชิกที่มีอยู่',
addSubscription: 'เพิ่มการสมัครสมาชิกใหม่',
removeSubscription: 'ยกเลิกการสมัครสมาชิก',
subscriptionRemoved: 'ยกเลิกการสมัครสมาชิกเรียบร้อยแล้ว',
error: 'ข้อผิดพลาด',
configuration: 'การกำหนดค่า',
remove: 'ลบ',
or: 'หรือ',
useOAuth: 'ใช้ OAuth',
useApiKey: 'ใช้คีย์ API',
authenticationFailed: 'การตรวจสอบล้มเหลว',
authenticationSuccess: 'ตรวจสอบสิทธิ์สำเร็จ',
oauthConfigFailed: 'การตั้งค่า OAuth ล้มเหลว',
configureOAuthClient: 'ตั้งค่าไคลเอนต์ OAuth',
oauthClientDescription: 'กำหนดค่า OAuth client credentials เพื่อเปิดใช้งานการตรวจสอบสิทธิ์',
oauthClientSaved: 'การตั้งค่าไคลเอนต์ OAuth บันทึกเรียบร้อยแล้ว',
configureApiKey: 'ตั้งค่า API Key',
apiKeyDescription: 'กำหนดค่า API key สำหรับการตรวจสอบสิทธิ์',
apiKeyConfigured: 'ตั้งค่า API key สำเร็จแล้ว',
configurationFailed: 'การตั้งค่าไม่สำเร็จ',
failedToStart: 'ไม่สามารถเริ่มกระบวนการตรวจสอบสิทธิ์ได้',
credentialsVerified: 'การยืนยันข้อมูลประจำตัวสำเร็จ',
credentialVerificationFailed: 'การตรวจสอบข้อมูลประจำตัวล้มเหลว',
verifyAndContinue: 'ยืนยันและดำเนินการต่อ',
configureParameters: 'กำหนดค่าพารามิเตอร์',
parametersDescription: 'กำหนดค่าพารามิเตอร์และคุณสมบัติของทริกเกอร์',
configurationComplete: 'การตั้งค่าเสร็จสมบูรณ์',
configurationCompleteDescription: 'การตั้งค่าทริกเกอร์ของคุณสำเร็จแล้ว',
configurationCompleteMessage: 'การตั้งค่าตัวกระตุ้นของคุณเสร็จสมบูรณ์และพร้อมใช้งานแล้ว',
parameters: 'พารามิเตอร์',
properties: 'คุณสมบัติ',
propertiesDescription: 'คุณสมบัติการกำหนดค่าที่เพิ่มเติมสำหรับตัวกระตุ้นนี้',
noConfigurationRequired: 'ไม่จำเป็นต้องตั้งค่าเพิ่มเติมสำหรับทริกเกอร์นี้',
subscriptionName: 'ชื่อการสมัครสมาชิก',
subscriptionNameDescription: 'กรอกชื่อที่ไม่ซ้ำสำหรับการสมัครตัวกระตุ้นนี้',
subscriptionNamePlaceholder: 'ใส่ชื่อการสมัครสมาชิก...',
subscriptionNameRequired: 'จำเป็นต้องระบุชื่อการสมัครสมาชิก',
subscriptionRequired: 'ต้องสมัครสมาชิก',
},
triggerSchedule: {
title: 'ตารางเวลา',
nodeTitle: 'ทริกเกอร์ตามตาราง',
notConfigured: 'ยังไม่ได้ตั้งค่า',
useCronExpression: 'ใช้สำนวน cron',
useVisualPicker: 'ใช้ตัวเลือกแบบภาพ',
frequency: {
label: 'ความถี่',
hourly: 'รายชั่วโมง',
daily: 'ประจำวัน',
weekly: 'รายสัปดาห์',
monthly: 'รายเดือน',
},
selectFrequency: 'เลือกความถี่',
frequencyLabel: 'ความถี่',
nextExecution: 'การดำเนินการครั้งถัดไป',
weekdays: 'วันในสัปดาห์',
time: 'เวลา',
cronExpression: 'นิพจน์ครอน',
nextExecutionTime: 'เวลาการดำเนินการครั้งถัดไป',
nextExecutionTimes: 'เวลาการประมวลผล 5 ครั้งถัดไป',
startTime: 'เวลาเริ่มต้น',
executeNow: 'ดำเนินการตอนนี้',
selectDateTime: 'เลือกวันที่และเวลา',
hours: 'ชั่วโมง',
minutes: 'นาที',
onMinute: 'ในนาที',
days: 'วัน',
lastDay: 'วันสุดท้าย',
lastDayTooltip: 'ไม่ใช่ทุกเดือนที่จะมี 31 วัน ใช้ตัวเลือก \'วันสุดท้าย\' เพื่อเลือกวันสุดท้ายของแต่ละเดือน',
mode: 'แฟชั่น',
timezone: 'เขตเวลา',
visualConfig: 'การตั้งค่าภาพ',
monthlyDay: 'วันประจำเดือน',
executionTime: 'เวลาการดำเนินการ',
invalidTimezone: 'เขตเวลาที่ไม่ถูกต้อง',
invalidCronExpression: 'นิพจน์ cron ไม่ถูกต้อง',
noValidExecutionTime: 'ไม่สามารถคำนวณเวลาการดำเนินการที่ถูกต้องได้',
executionTimeCalculationError: 'ไม่สามารถคำนวณเวลาการดำเนินการได้',
invalidFrequency: 'ความถี่ไม่ถูกต้อง',
invalidStartTime: 'เวลาเริ่มต้นไม่ถูกต้อง',
startTimeMustBeFuture: 'เวลาที่เริ่มต้นต้องเป็นเวลาที่อยู่ในอนาคต',
invalidTimeFormat: 'รูปแบบเวลาที่ไม่ถูกต้อง (ควรเป็น HH:MM AM/PM)',
invalidWeekday: 'วันในสัปดาห์ไม่ถูกต้อง: {{weekday}}',
invalidMonthlyDay: 'วันของเดือนต้องอยู่ระหว่าง 1-31 หรือ "สุดท้าย"',
invalidOnMinute: 'นาทีต้องอยู่ระหว่าง 0-59',
invalidExecutionTime: 'เวลาการดำเนินการไม่ถูกต้อง',
executionTimeMustBeFuture: 'เวลาการดำเนินการต้องเป็นอนาคต',
},
triggerWebhook: {
title: 'ทริกเกอร์เว็บฮุค',
nodeTitle: '🔗 ทริกเกอร์เว็บฮุค',
configPlaceholder: 'การกำหนดค่า Webhook trigger จะถูกใช้งานที่นี่',
webhookUrl: 'URL เว็บฮุก',
webhookUrlPlaceholder: 'คลิกสร้างเพื่อสร้าง URL ของเว็บฮุค',
generate: 'สร้าง',
copy: 'คัดลอก',
test: 'ทดสอบ',
urlGenerated: 'สร้าง URL Webhook สำเร็จแล้ว',
urlGenerationFailed: 'ไม่สามารถสร้าง URL ของเว็บฮุคได้',
urlCopied: 'คัดลอก URL ไปยังคลิปบอร์ดแล้ว',
method: 'วิธี',
contentType: 'ประเภทเนื้อหา',
queryParameters: 'พารามิเตอร์คำค้น',
headerParameters: 'พารามิเตอร์หัวเรื่อง',
requestBodyParameters: 'พารามิเตอร์ของเนื้อคำขอ',
parameterName: 'ชื่อของตัวแปร',
varName: 'ชื่อของตัวแปร',
varType: 'พิมพ์',
varNamePlaceholder: 'ใส่ชื่อของตัวแปร...',
required: 'จำเป็น',
addParameter: 'เพิ่ม',
addHeader: 'เพิ่ม',
noParameters: 'ยังไม่ได้ตั้งค่าพารามิเตอร์',
noQueryParameters: 'ไม่มีการตั้งค่าพารามิเตอร์การค้นหา',
noHeaders: 'ยังไม่ได้ตั้งค่าเฮดเดอร์',
noBodyParameters: 'ไม่มีการกำหนดพารามิเตอร์ของร่างกาย',
debugUrlTitle: 'สำหรับการทดสอบ ให้ใช้ URL นี้เสมอ',
debugUrlCopy: 'คลิกเพื่อคัดลอก',
debugUrlCopied: 'คัดลอกแล้ว!',
debugUrlPrivateAddressWarning: 'URL นี้ดูเหมือนจะเป็นที่อยู่ภายใน ซึ่งอาจทำให้คำขอเว็บฮุคล้มเหลวได้ คุณสามารถเปลี่ยน TRIGGER_URL เป็นที่อยู่สาธารณะได้',
errorHandling: 'การจัดการข้อผิดพลาด',
errorStrategy: 'การจัดการข้อผิดพลาด',
responseConfiguration: 'การตอบสนอง',
asyncMode: 'โหมดไม่ประสานเวลา',
statusCode: 'รหัสสถานะ',
responseBody: 'ตัวตอบสนองของเนื้อหา',
responseBodyPlaceholder: 'เขียนเนื้อหาการตอบของคุณที่นี่',
headers: 'หัวข้อ',
validation: {
webhookUrlRequired: 'ต้องระบุ URL ของ Webhook',
invalidParameterType: 'ประเภทพารามิเตอร์ "{{type}}" ไม่ถูกต้องสำหรับพารามิเตอร์ "{{name}}"',
},
},
},
tracing: {
stopBy: 'แวะที่ {{user}}',
@@ -1037,6 +1211,18 @@ const translation = {
exportToolTip: 'ส่งออกตัวแปรเป็นไฟล์',
largeDataNoExport: 'ข้อมูลขนาดใหญ่ - แสดงตัวอย่างบางส่วนเท่านั้น',
largeData: 'ข้อมูลขนาดใหญ่ ตัวอย่างแบบอ่านอย่างเดียว ส่งออกเพื่อดูทั้งหมด',
listening: {
title: 'กำลังรอฟังเหตุการณ์จากทริกเกอร์...',
tip: 'คุณสามารถจำลองการทริกเกอร์เหตุการณ์ได้โดยส่งคำขอทดสอบไปยังจุดสิ้นสุด HTTP {{nodeName}} หรือใช้มันเป็น URL สำหรับการดีบักเหตุการณ์แบบสด ผลลัพธ์ทั้งหมดสามารถดูได้โดยตรงในตัวตรวจสอบตัวแปร',
tipPlugin: 'ตอนนี้คุณสามารถสร้างกิจกรรมใน {{- pluginName}} และดึงผลลัพธ์จากกิจกรรมเหล่านี้ในตัวตรวจสอบตัวแปรได้แล้ว',
tipSchedule: 'กำลังรอฟังเหตุการณ์จากตัวเรียกใช้งานตามตาราง การทำงานครั้งถัดไปตามตาราง: {{nextTriggerTime}}',
tipFallback: 'รอเหตุการณ์ทริกเกอร์เข้ามา ผลลัพธ์จะแสดงที่นี่',
defaultNodeName: 'ทริกเกอร์นี้',
defaultPluginName: 'ปลั๊กอินนี้ทำงาน',
defaultScheduleTime: 'ยังไม่ได้ตั้งค่า',
selectedTriggers: 'ทริกเกอร์ที่เลือก',
stopButton: 'หยุด',
},
},
settingsTab: 'การตั้งค่า',
lastRunTab: 'รอบสุดท้าย',
@@ -1054,11 +1240,52 @@ const translation = {
copyLastRunError: 'ไม่สามารถคัดลอกข้อมูลการทำงานครั้งสุดท้ายได้',
noMatchingInputsFound: 'ไม่พบข้อมูลที่ตรงกันจากการรันครั้งล่าสุด',
lastOutput: 'ผลลัพธ์สุดท้าย',
lastRunInputsCopied: '{{count}} อินพุต ถูกคัดลอกจากการรันครั้งล่าสุด',
},
sidebar: {
exportWarning: 'ส่งออกเวอร์ชันที่บันทึกปัจจุบัน',
exportWarningDesc: 'นี่จะส่งออกเวอร์ชันที่บันทึกไว้ปัจจุบันของเวิร์กโฟลว์ของคุณ หากคุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึกในแก้ไข กรุณาบันทึกมันก่อนโดยใช้ตัวเลือกส่งออกในผืนผ้าใบเวิร์กโฟลว์',
},
publishLimit: {
startNodeTitlePrefix: 'อัปเกรดเป็น',
startNodeTitleSuffix: 'ปลดล็อกทริกเกอร์ไม่จำกัดต่อเวิร์กโฟลว์',
startNodeDesc: 'คุณได้ถึงขีดจำกัดของทริกเกอร์ 2 ครั้งต่อเวิร์กโฟลว์สำหรับแผนนี้แล้ว อัปเกรดเพื่อเผยแพร่เวิร์กโฟลว์นี้',
},
error: {
startNodeRequired: 'โปรดเพิ่มโหนดเริ่มต้นก่อน {{operation}}',
operations: {
connectingNodes: 'การเชื่อมต่อโหนด',
addingNodes: 'เพิ่มโหนด',
modifyingWorkflow: 'การปรับเปลี่ยนเวิร์กโฟลว์',
updatingWorkflow: 'กำลังปรับปรุงเวิร์กโฟลว์',
},
},
customWebhook: 'เว็บฮุกที่กำหนดเอง',
difyTeam: 'ทีม Dify',
triggerStatus: {
enabled: 'ทริกเกอร์',
disabled: 'ทริกเกอร์ • ปิดการใช้งาน',
},
entryNodeStatus: {
enabled: 'เริ่ม',
disabled: 'เริ่ม • ปิดใช้งาน',
},
onboarding: {
title: 'เลือกโหนดเริ่มต้นเพื่อเริ่ม',
description: 'โหนดเริ่มต้นที่แตกต่างกันมีความสามารถที่แตกต่างกัน ไม่ต้องกังวล คุณสามารถเปลี่ยนมันได้เสมอในภายหลัง',
userInputFull: 'ข้อมูลผู้ใช้ (โหนดเริ่มต้นต้นฉบับ)',
userInputDescription: 'โหนดเริ่มต้นที่อนุญาตให้ตั้งค่าตัวแปรการป้อนข้อมูลของผู้ใช้ พร้อมความสามารถในการใช้เครื่องมือต่าง ๆ เช่น เว็บแอป, API บริการ, เซิร์ฟเวอร์ MCP และเวิร์กโฟลว์',
trigger: 'ทริกเกอร์',
triggerDescription: 'ทริกเกอร์สามารถทำหน้าที่เป็นโหนดเริ่มต้นของเวิร์กโฟลว์ได้ เช่น งานที่ตั้งเวลาไว้ เว็บฮุกแบบกำหนดเอง หรือการรวมเข้ากับแอปอื่น ๆ',
back: 'กลับ',
learnMore: 'เรียนรู้เพิ่มเติม',
aboutStartNode: 'เกี่ยวกับโหนดเริ่มต้น',
escTip: {
press: 'กด',
key: 'esc',
toDismiss: 'ปฏิเสธ',
},
},
}
export default translation