Files
LangBot/web/src/i18n/locales/th-TH.ts
T
RockChinQ 073acaa053 feat(plugin-market): move extension count into search box placeholder
Mirror the langbot-space marketplace change: drop the '共 xxx 个扩展'
stats line below the tag filter, surface the count in the search
placeholder ('搜索 xxx 个扩展、能力或场景...') when no query is active,
and show the total at the bottom via allLoadedCount when searching.
Adds searchPlaceholderCount + allLoadedCount to all 8 locales.
2026-06-06 11:33:46 -04:00

1623 lines
112 KiB
TypeScript

const thTH = {
sidebar: {
home: 'หน้าแรก',
extensions: 'ส่วนขยาย',
installedPlugins: 'ที่ติดตั้งแล้ว',
pluginMarket: 'ตลาดปลั๊กอิน',
mcpServers: 'เซิร์ฟเวอร์ MCP',
addExtension: 'เพิ่มส่วนขยาย',
pluginPages: 'หน้าปลั๊กอิน',
pluginPagesTooltip: 'หน้าเว็บที่จัดทำโดยปลั๊กอินที่ติดตั้ง',
quickStart: 'เริ่มต้นอย่างรวดเร็ว',
scrollToBottom: 'เลื่อนไปด้านล่าง',
editionCommunity: 'รุ่นชุมชน',
editionCloud: 'Cloud',
},
common: {
login: 'เข้าสู่ระบบ',
logout: 'ออกจากระบบ',
accountOptions: 'การตั้งค่า',
account: 'บัญชี',
integration: 'การเชื่อมต่อ',
email: 'อีเมล',
password: 'รหัสผ่าน',
welcome: 'ยินดีต้อนรับกลับสู่ LangBot 👋',
continueToLogin: 'เข้าสู่ระบบเพื่อดำเนินการต่อ',
loginSuccess: 'เข้าสู่ระบบสำเร็จ',
loginFailed: 'เข้าสู่ระบบล้มเหลว กรุณาตรวจสอบอีเมลและรหัสผ่าน',
loginLoadError: 'ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์',
loginLoadErrorDesc:
'ไม่สามารถเชื่อมต่อกับแบ็กเอนด์ LangBot ได้ กรุณาตรวจสอบว่าบริการกำลังทำงานอยู่แล้วลองใหม่อีกครั้ง',
retry: 'ลองใหม่',
enterEmail: 'กรอกที่อยู่อีเมล',
enterPassword: 'กรอกรหัสผ่าน',
invalidEmail: 'กรุณากรอกที่อยู่อีเมลที่ถูกต้อง',
emptyPassword: 'กรุณากรอกรหัสผ่าน',
language: 'ภาษา',
helpDocs: 'ขอความช่วยเหลือ',
featureRequest: 'ขอฟีเจอร์ใหม่',
starOnGitHub: 'ให้ดาวบน GitHub',
joinDiscord: 'เข้าร่วม Discord',
create: 'สร้าง',
edit: 'แก้ไข',
delete: 'ลบ',
add: 'เพิ่ม',
select: 'เลือก',
skill: 'สกิล',
cancel: 'ยกเลิก',
submit: 'ส่ง',
error: 'ข้อผิดพลาด',
success: 'สำเร็จ',
save: 'บันทึก',
saving: 'กำลังบันทึก...',
recommend: 'แนะนำ',
start: 'เริ่ม',
confirm: 'ยืนยัน',
confirmDelete: 'ยืนยันการลบ',
deleteConfirmation: 'คุณแน่ใจหรือไม่ว่าต้องการลบสิ่งนี้?',
selectOption: 'เลือกตัวเลือก',
selectPreset: 'เลือกค่าที่ตั้งไว้',
required: 'จำเป็น',
enable: 'เปิดใช้งาน',
name: 'ชื่อ',
description: 'คำอธิบาย',
icon: 'ไอคอน',
close: 'ปิด',
deleteSuccess: 'ลบสำเร็จ',
deleteError: 'ลบล้มเหลว: ',
addRound: 'เพิ่มรอบ',
copy: 'คัดลอก',
copySuccess: 'คัดลอกสำเร็จ',
copyFailed: 'คัดลอกล้มเหลว',
test: 'ทดสอบ',
forgotPassword: 'ลืมรหัสผ่าน?',
agreementNotice: 'การดำเนินการต่อแสดงว่าคุณยอมรับ',
termsOfService: 'ข้อกำหนดการให้บริการ',
privacyPolicy: 'นโยบายความเป็นส่วนตัว',
and: 'และ',
dataCollectionPolicy: 'นโยบายการเก็บรวบรวมข้อมูล',
dataCollectionPolicyUrl: 'https://link.langbot.app/en/docs/data-policy',
loading: 'กำลังโหลด...',
fieldRequired: 'ช่องนี้จำเป็นต้องกรอก',
or: 'หรือ',
loginWithSpace: 'เข้าสู่ระบบด้วย Space',
spaceLoginRecommended:
'แนะนำ: ใช้ API โมเดลที่เสถียรอย่างเป็นทางการและบริการคลาวด์',
loginLocal: 'เข้าสู่ระบบด้วยบัญชีท้องถิ่น',
loginWithPassword: 'เข้าสู่ระบบด้วยรหัสผ่าน',
spaceLoginTitle: 'เข้าสู่ระบบด้วย Space',
spaceLoginDescription:
'สแกน QR code หรือเข้าชมลิงก์ด้านล่างเพื่อยืนยันสิทธิ์',
spaceLoginUserCode: 'รหัสของคุณ',
spaceLoginExpires: 'รหัสจะหมดอายุใน {{seconds}} วินาที',
spaceLoginWaiting: 'กำลังรอการยืนยันสิทธิ์...',
spaceLoginSuccess: 'ยืนยันสิทธิ์สำเร็จ',
spaceLoginFailed: 'เข้าสู่ระบบ Space ล้มเหลว',
spaceLoginExpired: 'รหัสยืนยันหมดอายุแล้ว กรุณาลองใหม่',
spaceLoginCancel: 'ยกเลิก',
spaceLoginVisitLink: 'เข้าชมลิงก์',
spaceLoginProcessing: 'กำลังเข้าสู่ระบบด้วย Space',
spaceLoginProcessingDescription: 'กรุณารอสักครู่ขณะดำเนินการเข้าสู่ระบบ...',
spaceLoginSuccessDescription: 'กำลังเปลี่ยนเส้นทางไปยัง LangBot...',
spaceLoginError: 'เข้าสู่ระบบล้มเหลว',
spaceLoginNoCode: 'ไม่พบรหัสยืนยันสิทธิ์',
backToLogin: 'กลับไปหน้าเข้าสู่ระบบ',
backToHome: 'กลับไปหน้าแรก',
spaceAccountCannotChangePassword:
'บัญชี Space ไม่สามารถเปลี่ยนรหัสผ่านได้ที่นี่',
theme: 'ธีม',
changePassword: 'เปลี่ยนรหัสผ่าน',
currentPassword: 'รหัสผ่านปัจจุบัน',
newPassword: 'รหัสผ่านใหม่',
confirmNewPassword: 'ยืนยันรหัสผ่านใหม่',
enterCurrentPassword: 'กรอกรหัสผ่านปัจจุบัน',
enterNewPassword: 'กรอกรหัสผ่านใหม่',
enterConfirmPassword: 'ยืนยันรหัสผ่านใหม่',
currentPasswordRequired: 'กรุณากรอกรหัสผ่านปัจจุบัน',
newPasswordRequired: 'กรุณากรอกรหัสผ่านใหม่',
confirmPasswordRequired: 'กรุณายืนยันรหัสผ่าน',
passwordsDoNotMatch: 'รหัสผ่านไม่ตรงกัน',
changePasswordSuccess: 'เปลี่ยนรหัสผ่านสำเร็จ',
changePasswordFailed: 'เปลี่ยนรหัสผ่านล้มเหลว กรุณาตรวจสอบรหัสผ่านปัจจุบัน',
apiIntegration: 'การเชื่อมต่อ API',
apiKeys: 'คีย์ API',
manageApiIntegration: 'จัดการการเชื่อมต่อ API',
manageApiKeys: 'จัดการคีย์ API',
createApiKey: 'สร้างคีย์ API',
apiKeyName: 'ชื่อคีย์ API',
apiKeyDescription: 'คำอธิบายคีย์ API',
apiKeyValue: 'ค่าคีย์ API',
apiKeyCreated: 'สร้างคีย์ API สำเร็จ',
apiKeyDeleted: 'ลบคีย์ API สำเร็จ',
apiKeyDeleteConfirm: 'คุณแน่ใจหรือไม่ว่าต้องการลบคีย์ API นี้?',
apiKeyNameRequired: 'กรุณากรอกชื่อคีย์ API',
copyApiKey: 'คัดลอกคีย์ API',
apiKeyCopied: 'คัดลอกคีย์ API ไปยังคลิปบอร์ดแล้ว',
noApiKeys: 'ยังไม่มีคีย์ API ที่กำหนดค่า',
apiKeyHint:
'คีย์ API ช่วยให้ระบบภายนอกสามารถเข้าถึง API บริการของ LangBot ได้',
webhooks: 'Webhooks',
createWebhook: 'สร้าง Webhook',
webhookName: 'ชื่อ Webhook',
webhookUrl: 'URL ของ Webhook',
webhookDescription: 'คำอธิบาย Webhook',
webhookEnabled: 'เปิดใช้งาน',
webhookCreated: 'สร้าง Webhook สำเร็จ',
webhookDeleted: 'ลบ Webhook สำเร็จ',
webhookDeleteConfirm: 'คุณแน่ใจหรือไม่ว่าต้องการลบ Webhook นี้?',
webhookNameRequired: 'กรุณากรอกชื่อ Webhook',
webhookUrlRequired: 'กรุณากรอก URL ของ Webhook',
noWebhooks: 'ยังไม่มี Webhook ที่กำหนดค่า',
webhookHint:
'Webhooks ช่วยให้ LangBot สามารถส่งเหตุการณ์ข้อความส่วนตัวและกลุ่มไปยังระบบภายนอกได้',
actions: 'การดำเนินการ',
apiKeyCreatedMessage:
'กรุณาคัดลอกคีย์ API นี้ หากปุ่มไม่ทำงาน กรุณาคัดลอกด้วยตนเอง',
none: 'ไม่มี',
more: 'เพิ่มเติม ({{count}})',
less: 'น้อยลง',
noItems: 'ไม่มีรายการ',
},
notFound: {
title: 'ไม่พบหน้า',
description: 'หน้าที่คุณกำลังมองหาไม่มีอยู่',
back: 'ย้อนกลับ',
home: 'หน้าแรก',
help: 'ขอความช่วยเหลือ',
},
models: {
title: 'โมเดล',
description: 'กำหนดค่าและจัดการโมเดลที่สามารถใช้ใน Pipeline',
createModel: 'สร้างโมเดล',
editModel: 'แก้ไขโมเดล',
getModelListError: 'ไม่สามารถดึงรายการโมเดลได้: ',
modelName: 'ชื่อโมเดล',
modelProvider: 'ผู้ให้บริการโมเดล',
modelBaseURL: 'URL พื้นฐาน',
modelAbilities: 'ความสามารถของโมเดล',
saveSuccess: 'บันทึกสำเร็จ',
saveError: 'บันทึกล้มเหลว: ',
createSuccess: 'สร้างสำเร็จ',
createError: 'สร้างล้มเหลว: ',
deleteSuccess: 'ลบสำเร็จ',
deleteError: 'ลบล้มเหลว: ',
deleteConfirmation: 'คุณแน่ใจหรือไม่ว่าต้องการลบโมเดลนี้?',
modelNameRequired: 'ชื่อโมเดลต้องไม่ว่างเปล่า',
modelProviderRequired: 'ผู้ให้บริการโมเดลต้องไม่ว่างเปล่า',
requestURLRequired: 'URL คำขอต้องไม่ว่างเปล่า',
apiKeyRequired: 'API Key ต้องไม่ว่างเปล่า',
keyNameRequired: 'ชื่อคีย์ต้องไม่ว่างเปล่า',
mustBeValidNumber: 'ต้องเป็นตัวเลขที่ถูกต้อง',
mustBeTrueOrFalse: 'ต้องเป็น true หรือ false',
requestURL: 'URL คำขอ',
scanURL: 'URL สแกนโมเดล',
scanURLPlaceholder: 'เว้นว่างไว้เพื่อใช้ URL คำขอ + /models',
scanURLDescription:
'กรอกปลายทางรายการโมเดลจริงเมื่อการสแกนโมเดลไม่ได้ใช้ที่อยู่เดียวกับการเรียกใช้โมเดล',
apiKey: 'API Key',
abilities: 'ความสามารถ',
selectModelAbilities: 'เลือกความสามารถของโมเดล',
visionAbility: 'ความสามารถด้านภาพ',
functionCallAbility: 'การเรียกฟังก์ชัน',
extraParameters: 'พารามิเตอร์เพิ่มเติม',
addParameter: 'เพิ่มพารามิเตอร์',
keyName: 'ชื่อคีย์',
type: 'ประเภท',
value: 'ค่า',
string: 'สตริง',
number: 'ตัวเลข',
boolean: 'บูลีน',
object: 'อ็อบเจกต์',
objectJsonPlaceholder: '{ "type": "disabled" }',
invalidJsonObject: 'ค่าต้องเป็นอ็อบเจกต์ JSON ที่ถูกต้อง',
selectModelProvider: 'เลือกผู้ให้บริการโมเดล',
modelProviderDescription: 'กรุณากรอกชื่อโมเดลที่ผู้ให้บริการจัดเตรียมไว้',
modelManufacturer: 'ผู้ผลิตโมเดล',
aggregationPlatform: 'แพลตฟอร์มรวม',
selfDeployed: 'ติดตั้งเอง',
builtin: 'ในตัว',
selectModel: 'เลือกโมเดล',
testSuccess: 'ทดสอบสำเร็จ',
testError: 'ทดสอบล้มเหลว กรุณาตรวจสอบการกำหนดค่าโมเดล',
llmModels: 'โมเดล LLM',
localProvider: 'ท้องถิ่น',
localProviderDescription: 'โมเดลที่กำหนดค่าและจัดการในเครื่อง',
spaceProviderDescription: 'โมเดลที่ซิงค์จากบัญชี Space ของคุณ',
spaceDisabledForLocalAccount: 'เข้าสู่ระบบด้วย Space เพื่อใช้โมเดลคลาวด์',
syncModels: 'ซิงค์',
syncSuccess:
'ซิงค์เสร็จสมบูรณ์: สร้าง {{created}} รายการ, อัปเดต {{updated}} รายการ',
syncError: 'ซิงค์ล้มเหลว: ',
spaceModelReadOnly: 'โมเดล Space เป็นแบบอ่านอย่างเดียว',
noSpaceModels: 'ไม่มีโมเดล Space คลิกซิงค์เพื่อดึงโมเดลจาก Space',
noLocalModels: 'ไม่มีโมเดลท้องถิ่น คลิกสร้างเพื่อเพิ่มโมเดล',
providerCount: '{{count}} ผู้ให้บริการ',
addModel: 'เพิ่มโมเดล',
manualAdd: 'เพิ่มเอง',
scanAdd: 'สแกน',
scanModels: 'สแกนโมเดล',
scanModelsHint:
'ดึงรายการโมเดลที่ใช้ได้จากผู้ให้บริการปัจจุบัน แล้วเลือกโมเดลที่ต้องการเพิ่ม',
scannedModels: 'ผลการสแกน',
scanDebug: 'ข้อมูลการดีบัก',
searchScannedModels: 'ค้นหาผลการสแกน',
noScannedModels: 'ยังไม่มีผลการสแกน กดปุ่มด้านบนเพื่อเริ่มสแกน',
noScannedModelsMatch: 'ไม่พบโมเดลที่ตรงกัน',
addSelectedModels: 'เพิ่มที่เลือก',
addSelectedModelsSuccess: 'เพิ่มแล้ว {{count}} โมเดล',
selectAll: 'เลือกทั้งหมด',
alreadyAdded: 'เพิ่มแล้ว',
addLLMModel: 'เพิ่มโมเดล LLM',
addEmbeddingModel: 'เพิ่มโมเดล Embedding',
provider: 'ผู้ให้บริการ',
existingProvider: 'ผู้ให้บริการที่มีอยู่',
newProvider: 'ผู้ให้บริการใหม่',
selectProvider: 'เลือกผู้ให้บริการ',
requester: 'ประเภทผู้ให้บริการ',
selectRequester: 'เลือกประเภทผู้ให้บริการ',
langbotModelsDescription: 'โมเดลคลาวด์ขับเคลื่อนโดย LangBot Space',
credits: 'เครดิต',
loginWithSpace: 'เข้าสู่ระบบด้วย Space',
loginToUseModels: 'เข้าสู่ระบบด้วย Space เพื่อใช้โมเดลคลาวด์',
noModels: 'ยังไม่มีโมเดลที่กำหนดค่า',
langbotModels: 'โมเดล LangBot',
spaceTrialTooltip:
'มีเครดิตทดลองใช้งานฟรี! เข้าสู่ระบบด้วย Space เพื่อเข้าถึงโมเดลคลาวด์โดยไม่ต้องตั้งค่า',
unlockModels: 'เข้าสู่ระบบเพื่อใช้งาน',
editProvider: 'แก้ไขผู้ให้บริการ',
addProvider: 'เพิ่มผู้ให้บริการ',
addProviderHint: 'เพิ่มผู้ให้บริการเพื่อใช้โมเดลจากแหล่งอื่น',
addProviderHintSimple: 'เพิ่มผู้ให้บริการเพื่อใช้โมเดล',
noProviders: 'ยังไม่มีผู้ให้บริการ',
providerName: 'ชื่อผู้ให้บริการ',
providerNameRequired: 'กรุณากรอกชื่อผู้ให้บริการ',
requesterRequired: 'กรุณาเลือกประเภทผู้ให้บริการ',
providerSaved: 'บันทึกผู้ให้บริการแล้ว',
providerCreated: 'สร้างผู้ให้บริการแล้ว',
providerSaveError: 'บันทึกผู้ให้บริการล้มเหลว: ',
providerDeleted: 'ลบผู้ให้บริการแล้ว',
providerDeleteError: 'ลบผู้ให้บริการล้มเหลว: ',
deleteProviderConfirmation: 'คุณแน่ใจหรือไม่ว่าต้องการลบผู้ให้บริการนี้?',
loadError: 'โหลดข้อมูลล้มเหลว',
chat: 'แชท',
embedding: 'Embedding',
rerank: 'จัดลำดับใหม่',
rerankUrlTooltip:
'URL เต็มสำหรับ endpoint จัดลำดับใหม่ (เช่น: https://dashscope.aliyuncs.com/compatible-api/v1/reranks)',
rerankPathTooltip:
'พาธที่เพิ่มเข้าไปใน URL ฐาน (ค่าเริ่มต้น: rerank บางบริการใช้ reranks)',
modelsCount: '{{count}} โมเดล',
expandModels: 'ขยาย',
collapseModels: 'ย่อ',
fallback: {
primary: 'โมเดลหลัก',
fallbackList: 'โมเดลสำรอง',
addFallback: 'เพิ่มโมเดลสำรอง',
},
},
bots: {
title: 'Bot',
description:
'สร้างและจัดการ Bot ซึ่งเป็นจุดเชื่อมต่อของ LangBot กับแพลตฟอร์มต่างๆ',
createBot: 'สร้าง Bot',
selectFromSidebar: 'เลือก Bot จากแถบด้านข้าง',
editBot: 'แก้ไข Bot',
getBotListError: 'ไม่สามารถดึงรายการ Bot ได้: ',
botName: 'ชื่อ Bot',
botDescription: 'คำอธิบาย Bot',
botNameRequired: 'ชื่อ Bot ต้องไม่ว่างเปล่า',
botDescriptionRequired: 'คำอธิบาย Bot ต้องไม่ว่างเปล่า',
adapterRequired: 'อะแดปเตอร์ต้องไม่ว่างเปล่า',
defaultDescription: 'Bot หนึ่งตัว',
getBotConfigError: 'ไม่สามารถดึงการกำหนดค่า Bot ได้: ',
saveSuccess: 'บันทึกสำเร็จ',
saveError: 'บันทึกล้มเหลว: ',
createSuccess: 'สร้างสำเร็จ กรุณาเปิดใช้งานหรือแก้ไข Pipeline ที่ผูกไว้',
createError: 'สร้างล้มเหลว: ',
deleteSuccess: 'ลบสำเร็จ',
deleteError: 'ลบล้มเหลว: ',
deleteConfirmation: 'คุณแน่ใจหรือไม่ว่าต้องการลบ Bot นี้?',
platformAdapter: 'การเลือกแพลตฟอร์ม/อะแดปเตอร์',
selectAdapter: 'เลือกอะแดปเตอร์',
adapterConfig: 'การกำหนดค่าอะแดปเตอร์',
viewAdapterDocs: 'ดูเอกสาร',
bindPipeline: 'ผูก Pipeline',
selectPipeline: 'เลือก Pipeline',
selectBot: 'เลือก Bot',
botLogTitle: 'บันทึก Bot',
enableAutoRefresh: 'เปิดการรีเฟรชอัตโนมัติ',
session: 'เซสชัน',
yesterday: 'เมื่อวาน',
earlier: 'ก่อนหน้า',
dateFormat: '{{day}}/{{month}}',
setBotEnableError: 'ไม่สามารถตั้งค่าสถานะเปิดใช้งาน Bot ได้',
log: 'บันทึก',
configuration: 'การกำหนดค่า',
logs: 'บันทึก',
basicInfo: 'ข้อมูลพื้นฐาน',
basicInfoDescription: 'ตั้งชื่อและคำอธิบาย Bot',
routingConnection: 'การกำหนดเส้นทางและการเชื่อมต่อ',
routingConnectionDescription:
'ผูก Pipeline ที่ประมวลผลข้อความสำหรับ Bot นี้',
routingRules: 'กฎการกำหนดเส้นทางตามเงื่อนไข',
routingRulesDescription:
'กฎจะถูกประเมินตามลำดับ การจับคู่แรกจะกำหนดเส้นทางไปยัง Pipeline ที่เกี่ยวข้อง หากไม่ตรงกันจะใช้ Pipeline เริ่มต้นด้านบน',
addRoutingRule: 'เพิ่มกฎ',
ruleTypeLauncherType: 'ประเภทเซสชัน',
ruleTypeLauncherId: 'ID เซสชัน',
ruleTypeMessageContent: 'เนื้อหาข้อความ',
operatorEq: 'เท่ากับ',
operatorNeq: 'ไม่เท่ากับ',
operatorContains: 'ประกอบด้วย',
operatorNotContains: 'ไม่ประกอบด้วย',
operatorStartsWith: 'เริ่มต้นด้วย',
operatorRegex: 'นิพจน์ปกติ',
operatorHas: 'มี',
operatorNotHas: 'ไม่มี',
ruleTypeMessageHasElement: 'องค์ประกอบข้อความ',
ruleValueElementPlaceholder: 'เลือกประเภทองค์ประกอบ',
elementImage: 'รูปภาพ',
elementVoice: 'เสียง',
elementFile: 'ไฟล์',
elementForward: 'ส่งต่อ',
elementFace: 'อีโมจิ',
elementAt: '@กล่าวถึง',
elementAtAll: '@ทั้งหมด',
elementQuote: 'อ้างอิง',
ruleValuePlaceholder: 'ค่าที่ตรงกัน',
ruleValueLauncherIdPlaceholder: 'ID กลุ่มหรือผู้ใช้',
ruleValueMessagePlaceholder: 'ข้อความ',
ruleValuePrefixPlaceholder: 'เช่น !draw',
ruleValueRegexpPlaceholder: 'เช่น ^/help',
pipelineDiscard: 'ละทิ้งข้อความ',
sessionTypePerson: 'แชทส่วนตัว',
sessionTypeGroup: 'แชทกลุ่ม',
adapterConfigDescription: 'กำหนดค่าอะแดปเตอร์แพลตฟอร์มที่เลือก',
dangerZone: 'โซนอันตราย',
dangerZoneDescription: 'การดำเนินการที่ย้อนกลับไม่ได้และเป็นอันตราย',
deleteBotAction: 'ลบ Bot นี้',
deleteBotHint:
'เมื่อลบแล้ว การกำหนดค่าที่เกี่ยวข้องทั้งหมดจะถูกลบอย่างถาวร',
webhookUrl: 'URL เรียกกลับ Webhook',
webhookUrlCopied: 'คัดลอก URL Webhook แล้ว',
webhookUrlHint:
'คลิกที่ช่องกรอกเพื่อเลือกทั้งหมด จากนั้นกด Ctrl+C (Mac: Cmd+C) เพื่อคัดลอก หรือคลิกปุ่ม',
webhookUrlHintEither:
'ใช้ URL ใดก็ได้จากสอง URL ด้านบนในการกำหนดค่าแพลตฟอร์มของคุณ',
webhookSaasHint:
'Webhook ต้องใช้โดเมนที่เข้าถึงได้จากภายนอก LangBot Cloud มี endpoint สาธารณะพร้อมใช้งานสำหรับ Bot ของคุณ',
webhookSaasLink: 'เรียนรู้เพิ่มเติมเกี่ยวกับ LangBot Cloud',
adapterCategory: {
popular: 'ยอดนิยม',
china: 'จีน',
global: 'ทั่วโลก',
protocol: 'โปรโตคอล',
},
logLevel: 'ระดับบันทึก',
allLevels: 'ทุกระดับ',
selectLevel: 'เลือกระดับ',
levelsSelected: 'ระดับที่เลือก',
viewDetailedLogs: 'ดูบันทึกโดยละเอียด',
viewDetails: 'รายละเอียด',
collapse: 'ย่อ',
imagesAttached: 'รูปภาพที่แนบ',
noLogs: 'ยังไม่มีบันทึก',
sessionMonitor: {
title: 'เซสชัน',
sessions: 'เซสชัน',
noSessions: 'ไม่พบเซสชัน',
selectSession: 'เลือกเซสชันเพื่อดูข้อความ',
noMessages: 'ไม่มีข้อความในเซสชันนี้',
messages: 'ข้อความ',
messageCount: '{{count}} ข้อความ',
loading: 'กำลังโหลด...',
loadingSessions: 'กำลังโหลดเซสชัน...',
loadingMessages: 'กำลังโหลดข้อความ...',
user: 'ผู้ใช้',
variables: 'ตัวแปร',
platform: 'แพลตฟอร์ม',
lastActive: 'ใช้งานล่าสุด',
refresh: 'รีเฟรช',
active: 'ใช้งานอยู่',
inactive: 'ไม่ได้ใช้งาน',
discarded: 'ถูกละทิ้ง',
userMessage: 'ผู้ใช้',
botMessage: 'ผู้ช่วย',
},
},
plugins: {
title: 'ส่วนขยาย',
description:
'ติดตั้งและกำหนดค่าปลั๊กอินเพื่อขยายฟังก์ชันการทำงาน กรุณาเลือกใน Pipeline',
createPlugin: 'สร้างปลั๊กอิน',
editPlugin: 'แก้ไขปลั๊กอิน',
installed: 'ติดตั้งแล้ว',
marketplace: 'ตลาดปลั๊กอิน',
arrange: 'เรียงลำดับปลั๊กอิน',
install: 'ติดตั้ง',
installPlugin: 'ติดตั้งปลั๊กอิน',
newPlugin: 'สร้างปลั๊กอินใหม่',
onlySupportGithub: 'ปัจจุบันรองรับเฉพาะการติดตั้งจาก GitHub',
enterGithubLink: 'กรอกลิงก์ GitHub ของปลั๊กอิน',
installing: 'กำลังติดตั้งปลั๊กอิน...',
installSuccess: 'ติดตั้งปลั๊กอินสำเร็จ',
installFailed: 'ติดตั้งปลั๊กอินล้มเหลว:',
searchPlugin: 'ค้นหาปลั๊กอิน',
sortBy: 'เรียงตาม',
mostStars: 'ดาวมากที่สุด',
recentlyAdded: 'เพิ่มล่าสุด',
recentlyUpdated: 'อัปเดตล่าสุด',
noMatchingPlugins: 'ไม่พบปลั๊กอินที่ตรงกัน',
loading: 'กำลังโหลด...',
getPluginListError: 'ไม่สามารถดึงรายการปลั๊กอินได้:',
noPluginInstalled: 'ยังไม่มีปลั๊กอินที่ติดตั้ง',
noExtensionInstalled: 'ยังไม่มีส่วนขยายที่ติดตั้ง',
loadingExtensions: 'กำลังโหลดส่วนขยาย...',
groupByType: 'จัดกลุ่มตามรูปแบบ',
pluginConfig: 'การกำหนดค่าปลั๊กอิน',
pluginSort: 'เรียงลำดับปลั๊กอิน',
pluginSortDescription:
'ลำดับปลั๊กอินมีผลต่อลำดับการประมวลผลภายในเหตุการณ์เดียวกัน กรุณาลากการ์ดปลั๊กอินเพื่อเรียงลำดับ',
pluginSortSuccess: 'เรียงลำดับปลั๊กอินสำเร็จ',
pluginSortError: 'เรียงลำดับปลั๊กอินล้มเหลว: ',
pluginNoConfig: 'ปลั๊กอินนี้ไม่มีรายการกำหนดค่า',
systemDisabled: 'ระบบปลั๊กอินปิดอยู่',
systemDisabledDesc:
'ระบบปลั๊กอินไม่ได้เปิดใช้งาน กรุณาแก้ไขการกำหนดค่าตามเอกสาร',
connectionError: 'ข้อผิดพลาดการเชื่อมต่อระบบปลั๊กอิน',
connectionErrorDesc:
'กรุณาตรวจสอบการกำหนดค่าระบบปลั๊กอินหรือติดต่อผู้ดูแลระบบ',
errorDetails: 'รายละเอียดข้อผิดพลาด',
loadingStatus: 'กำลังตรวจสอบสถานะระบบปลั๊กอิน...',
failedToGetStatus: 'ไม่สามารถดึงสถานะระบบปลั๊กอินได้',
pluginSystemNotReady: 'ระบบปลั๊กอินยังไม่พร้อม ไม่สามารถดำเนินการนี้ได้',
debugInfo: 'ข้อมูลดีบัก',
debugInfoTitle: 'ข้อมูลดีบักปลั๊กอิน',
debugUrl: 'URL ดีบัก',
debugKey: 'คีย์ดีบัก',
noDebugKey: '(ไม่ได้ตั้งค่า)',
debugKeyDisabled:
'ไม่ได้ตั้งค่าคีย์ดีบัก การดีบักปลั๊กอินไม่ต้องยืนยันตัวตน',
boxStatusTitle: 'Box Runtime',
boxStatus: 'สถานะ',
boxConnected: 'เชื่อมต่อแล้ว',
boxUnavailable: 'ไม่พร้อมใช้งาน',
boxBackend: 'แบ็กเอนด์',
boxProfile: 'โปรไฟล์',
boxSandboxes: 'แซนด์บ็อกซ์',
boxErrors: 'ข้อผิดพลาด',
boxSessionImage: 'อิมเมจ',
boxSessionBackend: 'แบ็กเอนด์',
boxSessionResources: 'ทรัพยากร',
boxSessionNetwork: 'เครือข่าย',
boxStatusLoadFailed: 'โหลดสถานะ Box ล้มเหลว',
failedToGetDebugInfo: 'ไม่สามารถดึงข้อมูลดีบักได้',
copiedToClipboard: 'คัดลอกไปยังคลิปบอร์ดแล้ว',
deleting: 'กำลังลบ...',
deletePlugin: 'ลบปลั๊กอิน',
cancel: 'ยกเลิก',
saveConfig: 'บันทึกการกำหนดค่า',
saving: 'กำลังบันทึก...',
confirmDeletePlugin:
'คุณแน่ใจหรือไม่ว่าต้องการลบปลั๊กอิน ({{author}}/{{name}})?',
deleteDataCheckbox: 'ลบการกำหนดค่าปลั๊กอินและที่เก็บข้อมูลถาวรด้วย',
confirmDelete: 'ยืนยันการลบ',
deleteError: 'ลบล้มเหลว: ',
close: 'ปิด',
deleteConfirm: 'ยืนยันการลบ',
deleteSuccess: 'ลบสำเร็จ',
dangerZone: 'พื้นที่อันตราย',
dangerZoneDescription: 'การดำเนินการที่ไม่สามารถย้อนกลับได้',
modifyFailed: 'แก้ไขล้มเหลว: ',
componentName: {
Tool: 'เครื่องมือ',
EventListener: 'ตัวรับฟังเหตุการณ์',
Command: 'คำสั่ง',
KnowledgeEngine: 'เครื่องมือความรู้',
Parser: 'ตัวแยกวิเคราะห์',
Page: 'หน้า',
},
uploadLocal: 'อัปโหลดจากเครื่อง',
debugging: 'ดีบัก',
uploadLocalPlugin: 'อัปโหลดปลั๊กอินจากเครื่อง',
localPreview: {
title: 'ดูตัวอย่างแพ็กเกจปลั๊กอินในเครื่อง',
unpacking: 'กำลังแตกแพ็กเกจเพื่อดูตัวอย่าง...',
unpackComplete: 'พร้อมดูตัวอย่างแพ็กเกจแล้ว',
failed: 'ดูตัวอย่างแพ็กเกจไม่สำเร็จ',
pluginInfo: 'ข้อมูลปลั๊กอิน',
packageInfo: 'ข้อมูลแพ็กเกจ',
name: 'ชื่อ',
author: 'ผู้เขียน',
version: 'เวอร์ชัน',
fileCount: 'จำนวนไฟล์',
dependencies: 'แพ็กเกจที่ต้องใช้',
components: 'คอมโพเนนต์',
ready: 'แตกแพ็กเกจปลั๊กอินแล้ว ยืนยันเพื่อเริ่มติดตั้ง',
},
dragToUpload: 'ลากไฟล์ปลั๊กอินมาวางที่นี่เพื่ออัปโหลด',
unsupportedFileType: 'ประเภทไฟล์ไม่รองรับ รองรับเฉพาะไฟล์ .lbpkg และ .zip',
uploadingPlugin: 'กำลังอัปโหลดปลั๊กอิน...',
uploadSuccess: 'อัปโหลดสำเร็จ',
uploadFailed: 'อัปโหลดล้มเหลว',
selectFileToUpload: 'เลือกไฟล์ปลั๊กอินเพื่ออัปโหลด',
askConfirm: 'คุณแน่ใจหรือไม่ที่จะติดตั้งปลั๊กอิน "{{name}}" ({{version}})?',
askConfirmNoVersion: 'คุณแน่ใจหรือไม่ที่จะติดตั้งปลั๊กอิน "{{name}}"?',
fromGithub: 'จาก GitHub',
fromLocal: 'จากเครื่อง',
fromMarketplace: 'จากตลาดปลั๊กอิน',
componentsList: 'ส่วนประกอบ: ',
noComponents: 'ไม่มีส่วนประกอบ',
delete: 'ลบปลั๊กอิน',
update: 'อัปเดตปลั๊กอิน',
new: 'ใหม่',
updateConfirm: 'ยืนยันการอัปเดต',
confirmUpdatePlugin:
'คุณแน่ใจหรือไม่ว่าต้องการอัปเดตปลั๊กอิน ({{author}}/{{name}})?',
confirmUpdate: 'ยืนยันการอัปเดต',
updating: 'กำลังอัปเดต...',
updateSuccess: 'อัปเดตปลั๊กอินสำเร็จ',
updateError: 'อัปเดตล้มเหลว: ',
saveConfigSuccessNormal: 'บันทึกการกำหนดค่าสำเร็จ',
saveConfigError: 'บันทึกการกำหนดค่าล้มเหลว: ',
config: 'การกำหนดค่า',
readme: 'เอกสาร',
viewSource: 'ดูซอร์สโค้ด',
loadingReadme: 'กำลังโหลดเอกสาร...',
noReadme: 'ปลั๊กอินนี้ไม่มีเอกสาร README',
fileUpload: {
tooLarge: 'ขนาดไฟล์เกินขีดจำกัด 10MB',
success: 'อัปโหลดไฟล์สำเร็จ',
failed: 'อัปโหลดไฟล์ล้มเหลว',
uploading: 'กำลังอัปโหลด...',
chooseFile: 'เลือกไฟล์',
addFile: 'เพิ่มไฟล์',
},
installFromGithub: 'จาก GitHub',
enterRepoUrl: 'กรอก URL ของ GitHub repository',
repoUrlPlaceholder: 'เช่น https://github.com/owner/repo',
fetchingReleases: 'กำลังดึงรีลีส...',
selectRelease: 'เลือกรีลีส',
noReleasesFound: 'ไม่พบรีลีส',
fetchReleasesError: 'ไม่สามารถดึงรีลีสได้: ',
selectAsset: 'เลือกไฟล์เพื่อติดตั้ง',
noAssetsFound: 'ไม่มีไฟล์ .lbpkg ในรีลีสนี้',
fetchAssetsError: 'ไม่สามารถดึงไฟล์แนบได้: ',
backToReleases: 'กลับไปรีลีส',
backToRepoUrl: 'กลับไป URL ของ repository',
backToAssets: 'กลับไปไฟล์แนบ',
releaseTag: 'แท็ก: {{tag}}',
releaseName: 'ชื่อ: {{name}}',
publishedAt: 'เผยแพร่เมื่อ: {{date}}',
prerelease: 'รุ่นก่อนเผยแพร่',
assetSize: 'ขนาด: {{size}}',
confirmInstall: 'ยืนยันการติดตั้ง',
installFromGithubDesc: 'ติดตั้งปลั๊กอินจาก GitHub Release',
goToMarketplace: 'ไปที่ตลาดปลั๊กอิน',
installProgress: {
title: 'กำลังติดตั้ง {{name}}',
titleGeneric: 'การติดตั้งปลั๊กอิน',
overallProgress: 'ความคืบหน้าโดยรวม',
downloading: 'กำลังดาวน์โหลดปลั๊กอิน',
installingDeps: 'กำลังติดตั้งแพ็กเกจ',
initializing: 'กำลังเริ่มต้นการตั้งค่า',
launching: 'กำลังเปิดใช้งานปลั๊กอิน',
completed: 'เสร็จสมบูรณ์',
failed: 'ล้มเหลว',
downloadSize: 'ขนาดแพ็กเกจ: {{size}}',
depsInfo: '{{count}} แพ็กเกจที่ต้องติดตั้ง',
depsProgress: 'ติดตั้งแล้ว {{installed}}/{{total}} · เหลือ {{remaining}}',
installComplete: 'ติดตั้งปลั๊กอินสำเร็จ',
dismiss: 'ปิด',
background: 'ทำงานเบื้องหลัง',
taskQueue: 'งานติดตั้ง',
clearCompleted: 'ล้างที่เสร็จแล้ว',
noTasks: 'ไม่มีงานติดตั้ง',
titlePlugin: 'กำลังติดตั้งปลั๊กอิน {{name}}',
titleMCP: 'กำลังติดตั้งเซิร์ฟเวอร์ MCP {{name}}',
titleSkill: 'กำลังติดตั้งสกิล {{name}}',
installCompletePlugin: 'ติดตั้งปลั๊กอินสำเร็จ',
installCompleteMCP: 'ติดตั้งเซิร์ฟเวอร์ MCP สำเร็จ',
installCompleteSkill: 'ติดตั้งสกิลสำเร็จ',
},
uploadPluginOnly: 'รองรับเฉพาะแพ็กเกจปลั๊กอิน .lbpkg',
},
market: {
searchPlaceholder: 'ค้นหาปลั๊กอิน...',
searchPlaceholderCount:
'ค้นหา {{count}} ส่วนขยาย ความสามารถ หรือกรณีใช้งาน...',
searchResults: 'พบ {{count}} ส่วนขยาย',
totalPlugins: 'ทั้งหมด {{count}} ส่วนขยาย',
noPlugins: 'ไม่มีปลั๊กอินที่พร้อมใช้งาน',
noResults: 'ไม่พบปลั๊กอินที่เกี่ยวข้อง',
loadingMore: 'กำลังโหลดเพิ่มเติม...',
loading: 'กำลังโหลด...',
allLoaded: 'แสดงปลั๊กอินทั้งหมดแล้ว',
allLoadedCount: 'แสดงส่วนขยายทั้งหมด {{count}} รายการแล้ว',
install: 'ติดตั้ง',
installConfirm:
'คุณแน่ใจหรือไม่ว่าต้องการติดตั้งปลั๊กอิน "{{name}}" ({{version}})?',
downloadComplete: 'ดาวน์โหลดปลั๊กอิน "{{name}}" เสร็จสมบูรณ์',
installFailed: 'ติดตั้งล้มเหลว กรุณาลองใหม่ภายหลัง',
loadFailed: 'ไม่สามารถดึงรายการปลั๊กอินได้ กรุณาลองใหม่ภายหลัง',
noDescription: 'ไม่มีคำอธิบาย',
notFound: 'ไม่พบข้อมูลปลั๊กอิน',
sortBy: 'เรียงตาม',
sort: {
recentlyAdded: 'เพิ่มล่าสุด',
recentlyUpdated: 'อัปเดตล่าสุด',
mostDownloads: 'ดาวน์โหลดมากที่สุด',
leastDownloads: 'ดาวน์โหลดน้อยที่สุด',
},
downloads: 'ดาวน์โหลด',
download: 'ดาวน์โหลด',
repository: 'Repository',
downloadFailed: 'ดาวน์โหลดล้มเหลว',
noReadme: 'ปลั๊กอินนี้ไม่มีเอกสาร README',
description: 'คำอธิบาย',
tagLabel: 'แท็ก',
submissionTitle: 'คุณมีปลั๊กอินที่ส่งเพื่อตรวจสอบอยู่: {{name}}',
submissionPending: 'ปลั๊กอินที่คุณส่งกำลังอยู่ระหว่างการตรวจสอบ: {{name}}',
submissionApproved: 'ปลั๊กอินที่คุณส่งได้รับการอนุมัติแล้ว: {{name}}',
submissionRejected: 'ปลั๊กอินที่คุณส่งถูกปฏิเสธ: {{name}}',
clickToRevoke: 'เพิกถอน',
revokeSuccess: 'เพิกถอนสำเร็จ',
revokeFailed: 'เพิกถอนล้มเหลว',
submissionDetails: 'รายละเอียดการส่งปลั๊กอิน',
markAsRead: 'ทำเครื่องหมายว่าอ่านแล้ว',
markAsReadSuccess: 'ทำเครื่องหมายว่าอ่านแล้ว',
markAsReadFailed: 'ทำเครื่องหมายว่าอ่านแล้วล้มเหลว',
filterByComponent: 'ส่วนประกอบปลั๊กอิน',
filterByComponentHint:
'ประเภทความสามารถที่ปลั๊กอินมีให้ เช่น เครื่องมือ (Tool) คำสั่ง (Command) ตัวรับฟังเหตุการณ์ (EventListener) เป็นต้น ใช้เพื่อขยายความสามารถต่าง ๆ ของ LangBot กรองตามส่วนประกอบเพื่อแสดงเฉพาะปลั๊กอินที่มีความสามารถนั้น',
allComponents: 'ส่วนประกอบทั้งหมด',
componentName: {
Tool: 'เครื่องมือ',
EventListener: 'ตัวรับฟังเหตุการณ์',
Command: 'คำสั่ง',
KnowledgeEngine: 'เครื่องมือความรู้',
Parser: 'ตัวแยกวิเคราะห์',
Page: 'หน้า',
},
filterByType: 'ประเภท',
allTypes: 'ทุกประเภท',
typePlugin: 'ปลั๊กอิน',
typeMCP: 'MCP',
typeSkill: 'สกิล',
requestPlugin: 'ขอปลั๊กอิน',
viewDetails: 'ดูรายละเอียด',
deprecated: 'เลิกใช้แล้ว',
deprecatedTooltip: 'กรุณาติดตั้งปลั๊กอินเครื่องมือความรู้ที่เกี่ยวข้อง',
filters: {
allFormats: 'ทุกประเภท',
more: 'เพิ่มเติม',
advancedTitle: 'ตัวกรองขั้นสูง',
advancedDescription: 'กรองตามประเภทส่วนขยาย',
technicalType: 'ประเภทเทคนิค',
},
allExtensions: 'ส่วนขยายทั้งหมด',
tags: {
filterByTags: 'กรองตามแท็ก',
selected: 'เลือกแล้ว',
selectTags: 'เลือกแท็ก',
clearAll: 'ล้างทั้งหมด',
noTags: 'ไม่มีแท็กที่พร้อมใช้งาน',
},
installCard: 'ติดตั้ง {{name}}',
},
mcp: {
title: 'MCP',
createServer: 'เพิ่มเซิร์ฟเวอร์ MCP',
addMCPServer: 'เพิ่มเซิร์ฟเวอร์ MCP',
editServer: 'แก้ไขเซิร์ฟเวอร์ MCP',
deleteServer: 'ลบเซิร์ฟเวอร์ MCP',
confirmDeleteServer: 'คุณแน่ใจหรือไม่ว่าต้องการลบเซิร์ฟเวอร์ MCP นี้?',
confirmDeleteTitle: 'ลบเซิร์ฟเวอร์ MCP',
getServerListError: 'ไม่สามารถดึงรายการเซิร์ฟเวอร์ MCP ได้: ',
serverName: 'ชื่อเซิร์ฟเวอร์',
serverMode: 'โหมดการเชื่อมต่อ',
selectMode: 'เลือกโหมด',
stdio: 'โหมด Stdio',
sse: 'โหมด SSE',
http: 'โหมด HTTP',
noServerInstalled: 'ยังไม่มีเซิร์ฟเวอร์ MCP ที่กำหนดค่า',
serverNameRequired: 'ชื่อเซิร์ฟเวอร์ต้องไม่ว่างเปล่า',
commandRequired: 'คำสั่งต้องไม่ว่างเปล่า',
urlRequired: 'URL ต้องไม่ว่างเปล่า',
timeoutMustBePositive: 'ค่าหมดเวลาต้องเป็นตัวเลขบวก',
command: 'คำสั่ง',
args: 'อาร์กิวเมนต์',
env: 'ตัวแปรสภาพแวดล้อม',
url: 'URL',
headers: 'ส่วนหัว',
timeout: 'หมดเวลา',
addArgument: 'เพิ่มอาร์กิวเมนต์',
addEnvVar: 'เพิ่มตัวแปรสภาพแวดล้อม',
addHeader: 'เพิ่มส่วนหัว',
keyName: 'ชื่อคีย์',
value: 'ค่า',
testing: 'กำลังทดสอบ...',
connecting: 'กำลังเชื่อมต่อ...',
testSuccess: 'ทดสอบสำเร็จ',
testFailed: 'ทดสอบล้มเหลว: ',
testError: 'ข้อผิดพลาดในการทดสอบ',
refreshSuccess: 'รีเฟรชสำเร็จ',
refreshFailed: 'รีเฟรชล้มเหลว: ',
connectionSuccess: 'เชื่อมต่อสำเร็จ',
connectionFailed: 'เชื่อมต่อล้มเหลว กรุณาตรวจสอบ URL',
connectionFailedStatus: 'เชื่อมต่อล้มเหลว',
boxDisabledStdioRefused:
'MCP server แบบ stdio ต้องใช้ Sandbox Box ซึ่งถูกปิดใช้งานในการตั้งค่า (box.enabled = false)',
boxUnavailableStdioRefused:
'MCP server แบบ stdio ต้องใช้ Sandbox Box ซึ่งขณะนี้เชื่อมต่อไม่ได้',
boxStdioRefusedSuggestion:
'กรุณาเปิดใช้งาน Box (box.enabled = true) และตรวจสอบว่ารันไทม์ทำงานปกติ หรือเปลี่ยน MCP server เป็นโหมด http/sse',
boxRequired: 'ต้องใช้ Box',
stdioBlockedByBoxToast:
'ไม่สามารถบันทึก MCP โหมด stdio เนื่องจาก Sandbox Box ถูกปิดใช้งานหรือไม่พร้อมใช้งาน กรุณาเปิดใช้งาน Box หรือเลือกโหมด http/sse',
toolsFound: 'เครื่องมือ',
unknownError: 'ข้อผิดพลาดที่ไม่ทราบสาเหตุ',
noToolsFound: 'ไม่พบเครื่องมือ',
tabTools: 'เครื่องมือ',
tabDocs: 'เอกสาร',
noReadme: 'ไม่มีเอกสาร',
parseResultFailed: 'ไม่สามารถแยกวิเคราะห์ผลการทดสอบได้',
noResultReturned: 'การทดสอบไม่ส่งผลลัพธ์กลับมา',
getTaskFailed: 'ไม่สามารถดึงสถานะงานได้',
noTaskId: 'ไม่ได้รับ ID งาน',
deleteSuccess: 'ลบสำเร็จ',
deleteFailed: 'ลบล้มเหลว: ',
deleteError: 'ลบล้มเหลว: ',
saveSuccess: 'บันทึกสำเร็จ',
saveError: 'บันทึกล้มเหลว: ',
createSuccess: 'สร้างสำเร็จ',
createFailed: 'สร้างล้มเหลว: ',
createError: 'สร้างล้มเหลว: ',
loadFailed: 'โหลดล้มเหลว',
modifyFailed: 'แก้ไขล้มเหลว: ',
toolCount: 'เครื่องมือ: {{count}}',
parameterCount: 'พารามิเตอร์: {{count}}',
noParameters: 'ไม่มีพารามิเตอร์',
statusConnected: 'เชื่อมต่อแล้ว',
statusDisconnected: 'ไม่ได้เชื่อมต่อ',
statusError: 'ข้อผิดพลาดการเชื่อมต่อ',
statusDisabled: 'ปิดใช้งาน',
loading: 'กำลังโหลด...',
starCount: 'ดาว: {{count}}',
install: 'ติดตั้ง',
installFromGithub: 'ติดตั้งเซิร์ฟเวอร์ MCP จาก GitHub',
add: 'เพิ่ม',
name: 'ชื่อ',
nameRequired: 'ชื่อต้องไม่ว่างเปล่า',
sseTimeout: 'หมดเวลา SSE',
sseTimeoutDescription: 'หมดเวลาสำหรับการสร้างการเชื่อมต่อ SSE',
extraParametersDescription:
'พารามิเตอร์เพิ่มเติมสำหรับกำหนดค่าพฤติกรรมเฉพาะของเซิร์ฟเวอร์ MCP',
timeoutMustBeNumber: 'ค่าหมดเวลาต้องเป็นตัวเลข',
timeoutNonNegative: 'ค่าหมดเวลาต้องไม่เป็นค่าลบ',
sseTimeoutMustBeNumber: 'ค่าหมดเวลา SSE ต้องเป็นตัวเลข',
sseTimeoutNonNegative: 'ค่าหมดเวลา SSE ต้องไม่เป็นค่าลบ',
updateSuccess: 'อัปเดตสำเร็จ',
updateFailed: 'อัปเดตล้มเหลว: ',
selectFromSidebar: 'เลือกเซิร์ฟเวอร์ MCP จากแถบด้านข้าง',
dangerZone: 'โซนอันตราย',
dangerZoneDescription:
'การดำเนินการที่ย้อนกลับไม่ได้และเป็นอันตรายสำหรับเซิร์ฟเวอร์ MCP นี้',
deleteMCPAction: 'ลบเซิร์ฟเวอร์ MCP นี้',
deleteMCPHint:
'เมื่อลบแล้ว การกำหนดค่าเซิร์ฟเวอร์ MCP นี้จะไม่สามารถกู้คืนได้',
},
pipelines: {
title: 'Pipeline',
description:
'Pipeline กำหนดกระบวนการประมวลผลเหตุการณ์ข้อความ ใช้เพื่อผูกกับ Bot',
createPipeline: 'สร้าง Pipeline',
selectFromSidebar: 'เลือก Pipeline จากแถบด้านข้าง',
editPipeline: 'แก้ไข Pipeline',
chat: 'แชท',
configuration: 'การกำหนดค่า',
debugChat: 'แชทดีบัก',
getPipelineListError: 'ไม่สามารถดึงรายการ Pipeline ได้: ',
daysAgo: 'วันก่อน',
today: 'วันนี้',
updateTime: 'อัปเดตเมื่อ ',
defaultBadge: 'ค่าเริ่มต้น',
sortBy: 'เรียงตาม',
newestCreated: 'สร้างล่าสุด',
earliestCreated: 'สร้างเก่าสุด',
recentlyEdited: 'แก้ไขล่าสุด',
earliestEdited: 'แก้ไขเก่าสุด',
basicInfo: 'ข้อมูลพื้นฐาน',
basicInfoDescription: 'ตั้งชื่อ ไอคอน และคำอธิบาย Pipeline',
aiCapabilities: 'AI',
triggerConditions: 'ทริกเกอร์',
safetyControls: 'ความปลอดภัย',
outputProcessing: 'เอาต์พุต',
nameRequired: 'ชื่อต้องไม่ว่างเปล่า',
descriptionRequired: 'คำอธิบายต้องไม่ว่างเปล่า',
createSuccess: 'สร้างสำเร็จ กรุณาแก้ไขพารามิเตอร์ Pipeline',
createError: 'สร้างล้มเหลว: ',
saveSuccess: 'บันทึกสำเร็จ',
saveError: 'บันทึกล้มเหลว: ',
copySuffix: ' สำเนา',
deleteConfirmation:
'คุณแน่ใจหรือไม่ว่าต้องการลบ Pipeline นี้? Bot ที่ผูกกับ Pipeline นี้จะไม่ทำงาน',
defaultPipelineCannotDelete: 'ไม่สามารถลบ Pipeline ค่าเริ่มต้นได้',
deleteSuccess: 'ลบสำเร็จ',
deleteError: 'ลบล้มเหลว: ',
copyConfirmTitle: 'ยืนยันการคัดลอก',
copyConfirmation:
'คุณแน่ใจหรือไม่ว่าต้องการคัดลอก Pipeline นี้? การดำเนินการนี้จะสร้าง Pipeline ใหม่พร้อมการกำหนดค่าทั้งหมด',
unsavedChanges: 'คุณมีการเปลี่ยนแปลงที่ยังไม่ได้บันทึก',
dangerZone: 'โซนอันตราย',
dangerZoneDescription: 'การดำเนินการที่ย้อนกลับไม่ได้และเป็นอันตราย',
deletePipelineAction: 'ลบ Pipeline นี้',
deletePipelineHint: 'เมื่อลบแล้ว Bot ที่ผูกกับ Pipeline นี้จะหยุดทำงาน',
copyPipelineAction: 'คัดลอก Pipeline นี้',
copyPipelineHint: 'สร้าง Pipeline ใหม่พร้อมการกำหนดค่าทั้งหมดที่คัดลอกมา',
extensions: {
title: 'ส่วนขยาย',
loadError: 'ไม่สามารถโหลดปลั๊กอินได้',
saveSuccess: 'บันทึกสำเร็จ',
saveError: 'บันทึกล้มเหลว',
noPluginsAvailable: 'ไม่มีปลั๊กอินที่พร้อมใช้งาน',
disabled: 'ปิดใช้งาน',
noPluginsSelected: 'ไม่ได้เลือกปลั๊กอิน',
addPlugin: 'เพิ่มปลั๊กอิน',
selectPlugins: 'เลือกปลั๊กอิน',
pluginsTitle: 'ปลั๊กอิน',
mcpServersTitle: 'เซิร์ฟเวอร์ MCP',
noMCPServersSelected: 'ไม่ได้เลือกเซิร์ฟเวอร์ MCP',
addMCPServer: 'เพิ่มเซิร์ฟเวอร์ MCP',
selectMCPServers: 'เลือกเซิร์ฟเวอร์ MCP',
toolCount: '{{count}} เครื่องมือ',
noPluginsInstalled: 'ไม่มีปลั๊กอินที่ติดตั้ง',
noMCPServersConfigured: 'ไม่มีเซิร์ฟเวอร์ MCP ที่กำหนดค่า',
selectAll: 'เลือกทั้งหมด',
enableAllPlugins: 'เปิดใช้งานปลั๊กอินทั้งหมด',
enableAllMCPServers: 'เปิดใช้งานเซิร์ฟเวอร์ MCP ทั้งหมด',
allPluginsEnabled: 'เปิดใช้งานปลั๊กอินทั้งหมดแล้ว',
allMCPServersEnabled: 'เปิดใช้งานเซิร์ฟเวอร์ MCP ทั้งหมดแล้ว',
enableAllSkills: 'เปิดใช้สกิลทั้งหมด',
allSkillsEnabled: 'เปิดใช้สกิลทั้งหมดแล้ว',
skillsTitle: 'สกิล',
noSkillsSelected: 'ยังไม่ได้เลือกสกิล',
addSkill: 'เพิ่มสกิล',
selectSkills: 'เลือกสกิล',
noSkillsAvailable: 'ไม่มีสกิลที่พร้อมใช้งาน',
},
debugDialog: {
title: 'แชท Pipeline',
selectPipeline: 'เลือก Pipeline',
sessionType: 'ประเภทเซสชัน',
privateChat: 'แชทส่วนตัว',
groupChat: 'แชทกลุ่ม',
send: 'ส่ง',
reset: 'รีเซ็ตการสนทนา',
inputPlaceholder: 'ส่งข้อความ{{type}}...',
noMessages: 'ไม่มีข้อความ',
userMessage: 'ผู้ใช้',
botMessage: 'Bot',
sendFailed: 'ส่งล้มเหลว',
resetSuccess: 'รีเซ็ตการสนทนาสำเร็จ',
resetFailed: 'รีเซ็ตล้มเหลว',
loadMessagesFailed: 'ไม่สามารถโหลดข้อความได้',
loadPipelinesFailed: 'ไม่สามารถโหลด Pipeline ได้',
atTips: 'กล่าวถึง Bot',
streaming: 'สตรีมมิ่ง',
streamOutput: 'สตรีม',
connected: 'เชื่อมต่อ WebSocket แล้ว',
disconnected: 'ยกเลิกการเชื่อมต่อ WebSocket',
connectionError: 'ข้อผิดพลาดการเชื่อมต่อ WebSocket',
connectionFailed: 'เชื่อมต่อ WebSocket ล้มเหลว',
notConnected: 'ยังไม่ได้เชื่อมต่อ WebSocket กรุณาลองใหม่ภายหลัง',
imageUploadFailed: 'อัปโหลดรูปภาพล้มเหลว',
reply: 'ตอบกลับ',
replyTo: 'ตอบกลับถึง',
showMarkdown: 'แสดง Markdown',
showRaw: 'แสดงข้อมูลดิบ',
allMembers: 'สมาชิกทั้งหมด',
file: 'ไฟล์',
voice: 'เสียง',
uploadImage: 'อัปโหลดรูปภาพ',
uploading: 'กำลังอัปโหลด...',
},
monitoring: {
title: 'แดชบอร์ด',
description:
'ดูบันทึกการดำเนินการและข้อผิดพลาดของ Pipeline นี้ (24 ชั่วโมงล่าสุด)',
detailedLogs: 'บันทึกโดยละเอียด',
},
},
knowledge: {
title: 'ฐานความรู้',
createKnowledgeBase: 'สร้างฐานความรู้',
selectFromSidebar: 'เลือกฐานความรู้จากแถบด้านข้าง',
editKnowledgeBase: 'แก้ไขฐานความรู้',
selectKnowledgeBase: 'เลือกฐานความรู้',
selectKnowledgeBases: 'เลือกฐานความรู้',
addKnowledgeBase: 'เพิ่มฐานความรู้',
noKnowledgeBaseSelected: 'ไม่ได้เลือกฐานความรู้',
empty: 'ว่างเปล่า',
editDocument: 'เอกสาร',
description: 'กำหนดค่าฐานความรู้เพื่อปรับปรุงการตอบสนองของ LLM',
metadata: 'ข้อมูลเมตา',
documents: 'เอกสาร',
kbNameRequired: 'ชื่อฐานความรู้ต้องไม่ว่างเปล่า',
kbDescriptionRequired: 'คำอธิบายฐานความรู้ต้องไม่ว่างเปล่า',
embeddingModelUUIDRequired: 'โมเดล Embedding ต้องไม่ว่างเปล่า',
daysAgo: 'วันก่อน',
today: 'วันนี้',
kbName: 'ชื่อฐานความรู้',
kbDescription: 'คำอธิบายฐานความรู้',
topK: 'Top K',
topKRequired: 'ค่า Top K ต้องไม่ว่างเปล่า',
topKMax: 'ค่าสูงสุดของ Top K คือ 30',
topKdescription:
'ใช้เพื่อระบุจำนวนเอกสารที่เกี่ยวข้องที่ต้องการดึง มีช่วง 1 ถึง 30',
defaultDescription: 'ฐานความรู้หนึ่งแห่ง',
embeddingModelUUID: 'โมเดล Embedding',
selectEmbeddingModel: 'เลือกโมเดล Embedding',
embeddingModelDescription:
'ใช้เพื่อแปลงข้อความเป็นเวกเตอร์ คุณสามารถกำหนดค่าได้ในหน้าโมเดล',
updateTime: 'อัปเดตเมื่อ ',
cannotChangeEmbeddingModel:
'ฐานความรู้ที่สร้างแล้วไม่สามารถเปลี่ยนโมเดล Embedding ได้',
updateKnowledgeBaseSuccess: 'อัปเดตฐานความรู้สำเร็จ',
updateKnowledgeBaseFailed: 'อัปเดตฐานความรู้ล้มเหลว: ',
documentsTab: {
name: 'ชื่อ',
status: 'สถานะ',
noResults: 'ไม่มีเอกสาร',
dragAndDrop: 'ลากและวางไฟล์ที่นี่หรือคลิกเพื่ออัปโหลด',
uploading: 'กำลังอัปโหลด...',
supportedFormats:
'รองรับไฟล์ PDF, Word, TXT, Markdown, HTML, ZIP และรูปแบบเอกสารอื่นๆ',
uploadSuccess: 'อัปโหลดไฟล์สำเร็จ!',
uploadError: 'อัปโหลดไฟล์ล้มเหลว: ',
uploadingFile: 'กำลังอัปโหลดไฟล์...',
fileSizeExceeded: 'ขนาดไฟล์เกินขีดจำกัด 10MB กรุณาแบ่งเป็นไฟล์ขนาดเล็กลง',
actions: 'การดำเนินการ',
delete: 'ลบไฟล์',
fileDeleteSuccess: 'ลบไฟล์สำเร็จ',
fileDeleteFailed: 'ลบไฟล์ล้มเหลว: ',
processing: 'กำลังประมวลผล',
completed: 'เสร็จสมบูรณ์',
failed: 'ล้มเหลว',
selectParser: 'เลือกตัวแยกวิเคราะห์',
builtInParser: 'จัดเตรียมโดยเครื่องมือความรู้',
noParserAvailable:
'ไม่มีตัวแยกวิเคราะห์ที่รองรับไฟล์ประเภทนี้ กรุณาติดตั้งปลั๊กอินตัวแยกวิเคราะห์ที่สามารถจัดการรูปแบบนี้ได้',
installParserHint: 'เรียกดูปลั๊กอินตัวแยกวิเคราะห์ใน Marketplace →',
confirmUpload: 'อัปโหลด',
cancelUpload: 'ยกเลิก',
},
deleteKnowledgeBaseConfirmation:
'คุณแน่ใจหรือไม่ว่าต้องการลบฐานความรู้นี้? เอกสารทั้งหมดในฐานความรู้นี้จะถูกลบ',
retrieve: 'ทดสอบการดึงข้อมูล',
retrieveTest: 'ทดสอบการดึงข้อมูล',
query: 'คำค้นหา',
queryPlaceholder: 'กรอกข้อความค้นหา...',
distance: 'ระยะห่าง',
content: 'เนื้อหา',
fileName: 'ชื่อไฟล์',
noResults: 'ไม่มีผลลัพธ์',
retrieveError: 'ดึงข้อมูลล้มเหลว: ',
unknownEngine: 'เครื่องมือไม่ทราบ',
knowledgeEngine: 'เครื่องมือความรู้',
knowledgeEngineRequired: 'กรุณาเลือกเครื่องมือความรู้',
selectKnowledgeEngine: 'เลือกเครื่องมือความรู้',
builtInEngine: 'เครื่องมือในตัว',
cannotChangeKnowledgeEngine:
'ไม่สามารถเปลี่ยนเครื่องมือความรู้หลังจากสร้างแล้ว',
basicInfo: 'ข้อมูลพื้นฐาน',
basicInfoDescription: 'ตั้งชื่อ ไอคอน และคำอธิบายฐานความรู้',
engineSettings: 'การตั้งค่าเครื่องมือ',
engineSettingsDescription: 'การกำหนดค่าสำหรับเครื่องมือความรู้ที่เลือก',
engineSettingsReadonly: 'อ่านอย่างเดียวในโหมดแก้ไข',
engineSettingsInvalid:
'การตั้งค่าเครื่องมือไม่ถูกต้อง โปรดตรวจสอบฟิลด์ที่จำเป็น',
retrievalSettingsInvalid:
'การตั้งค่าการดึงข้อมูลไม่ถูกต้อง โปรดตรวจสอบฟิลด์ที่จำเป็น',
retrievalSettings: 'การตั้งค่าการดึงข้อมูล',
retrievalSettingsDescription: 'กำหนดค่าวิธีดึงเอกสารจากฐานความรู้นี้',
dangerZone: 'โซนอันตราย',
dangerZoneDescription: 'การดำเนินการที่ย้อนกลับไม่ได้และเป็นอันตราย',
deleteKbAction: 'ลบฐานความรู้นี้',
deleteKbHint:
'เมื่อลบแล้ว เอกสารและข้อมูลทั้งหมดในฐานความรู้นี้จะถูกลบอย่างถาวร',
noEnginesAvailable: 'ไม่มีเครื่องมือฐานความรู้ที่พร้อมใช้งาน',
installEngineHint: 'กรุณาติดตั้งปลั๊กอิน "เครื่องมือความรู้" ก่อน',
createKnowledgeBaseFailed: 'สร้างฐานความรู้ล้มเหลว: ',
loadKnowledgeBaseFailed: 'โหลดฐานความรู้ล้มเหลว: ',
deleteKnowledgeBaseFailed: 'ลบฐานความรู้ล้มเหลว: ',
getKnowledgeBaseListError: 'ไม่สามารถดึงรายการฐานความรู้ได้: ',
embeddingModel: 'โมเดล Embedding',
embeddingModelRequired: 'เครื่องมือนี้ต้องใช้โมเดล Embedding',
addExternal: 'เพิ่มฐานความรู้ภายนอก',
createExternalSuccess: 'สร้างฐานความรู้ภายนอกสำเร็จ',
updateExternalSuccess: 'อัปเดตฐานความรู้ภายนอกสำเร็จ',
deleteExternalSuccess: 'ลบฐานความรู้ภายนอกสำเร็จ',
retriever: 'ตัวดึงข้อมูล',
selectRetriever: 'เลือกตัวดึงข้อมูล...',
retrieverConfiguration: 'การกำหนดค่าตัวดึงข้อมูล',
retrieverInstallInfo: 'คุณสามารถติดตั้งปลั๊กอินตัวดึงข้อมูลความรู้ได้จาก',
retrieverMarketLink: 'ที่นี่',
migration: {
title: 'การย้ายฐานความรู้',
description:
'เวอร์ชันใหม่ได้ปรับโครงสร้างฐานความรู้เป็นสถาปัตยกรรมแบบปลั๊กอิน รวมฐานความรู้ในตัวและภายนอกเป็นปลั๊กอิน "เครื่องมือความรู้" จำเป็นต้องย้ายข้อมูลฐานความรู้เดิม ข้อมูลเก่าของคุณได้รับการสำรองข้อมูลอัตโนมัติในฐานข้อมูลแล้ว',
detected:
'พบ {{total}} ฐานความรู้ที่ต้องย้าย ({{internal}} ภายใน, {{external}} ภายนอก)',
startWithInstall: 'ติดตั้งปลั๊กอินอัตโนมัติและย้ายข้อมูล',
startDataOnly: 'ย้ายข้อมูลเท่านั้น',
dataOnlyHint:
'"ย้ายข้อมูลเท่านั้น" สำหรับสภาพแวดล้อมออฟไลน์/อินทราเน็ต กรุณาติดตั้งปลั๊กอินที่เกี่ยวข้องด้วยตนเองหลังจากย้ายข้อมูล',
dismiss: 'ยกเลิกข้อมูลเดิม',
running: 'กำลังย้ายฐานความรู้ กรุณารอ...',
success: 'การย้ายฐานความรู้เสร็จสมบูรณ์',
error: 'การย้ายฐานความรู้ล้มเหลว: ',
dismissError: 'การดำเนินการล้มเหลว',
retry: 'ลองใหม่',
},
},
register: {
title: 'เริ่มต้น LangBot 👋',
description: 'นี่เป็นครั้งแรกที่คุณเริ่มใช้งาน LangBot',
adminAccountNote: 'บัญชีที่คุณใช้ที่นี่จะถูกตั้งเป็นบัญชีผู้ดูแลระบบ',
register: 'ลงทะเบียน',
initWithSpace: 'เริ่มต้นด้วย Space',
spaceRecommended:
'แนะนำ: ใช้ API โมเดลที่เสถียรอย่างเป็นทางการและบริการคลาวด์',
spaceInfoTip1:
'Space ให้บริการยืนยันตัวตนแบบรวมโดยไม่อัปโหลดข้อมูลสำคัญใดๆ ของคุณ',
spaceInfoTip2:
'การเข้าสู่ระบบด้วยบัญชี Space ช่วยให้คุณเข้าถึงโมเดล LangBot และบริการคลาวด์อื่นๆ รวมถึงเครดิตเรียกใช้โมเดลฟรีเพื่อช่วยให้คุณเริ่มต้นได้อย่างรวดเร็ว',
spaceInfoTip3:
'วิธีการเข้าสู่ระบบของคุณไม่มีผลต่อฟีเจอร์อื่นๆ คุณสามารถกำหนดค่าและใช้โมเดลจากแหล่งอื่นได้ตลอดเวลา',
registerLocal: 'ลงทะเบียนบัญชีท้องถิ่น',
registerWithPassword: 'ลงทะเบียนด้วยอีเมลและรหัสผ่าน',
initSuccess: 'เริ่มต้นระบบสำเร็จ กรุณาเข้าสู่ระบบ',
initFailed: 'เริ่มต้นระบบล้มเหลว: ',
},
resetPassword: {
title: 'รีเซ็ตรหัสผ่าน 🔐',
description: 'กรอกคีย์กู้คืนและรหัสผ่านใหม่เพื่อรีเซ็ตรหัสผ่านบัญชี',
recoveryKey: 'คีย์กู้คืน',
recoveryKeyDescription:
'เก็บไว้ใน `system.recovery_key` ของไฟล์กำหนดค่า `data/config.yaml`',
newPassword: 'รหัสผ่านใหม่',
enterRecoveryKey: 'กรอกคีย์กู้คืน',
enterNewPassword: 'กรอกรหัสผ่านใหม่',
recoveryKeyRequired: 'คีย์กู้คืนต้องไม่ว่างเปล่า',
newPasswordRequired: 'รหัสผ่านใหม่ต้องไม่ว่างเปล่า',
resetPassword: 'รีเซ็ตรหัสผ่าน',
resetting: 'กำลังรีเซ็ต...',
resetSuccess: 'รีเซ็ตรหัสผ่านสำเร็จ กรุณาเข้าสู่ระบบ',
resetFailed: 'รีเซ็ตรหัสผ่านล้มเหลว กรุณาตรวจสอบอีเมลและคีย์กู้คืน',
backToLogin: 'กลับไปหน้าเข้าสู่ระบบ',
},
embedding: {
description: 'จัดการโมเดล Embedding สำหรับการแปลงข้อความเป็นเวกเตอร์',
createModel: 'สร้างโมเดล Embedding',
editModel: 'แก้ไขโมเดล Embedding',
getModelListError: 'ไม่สามารถดึงรายการโมเดล Embedding ได้: ',
embeddingModels: 'Embedding',
extraParametersDescription:
'จะถูกแนบไปกับเนื้อหาคำขอ เช่น encoding_format, dimensions เป็นต้น',
},
llm: {
description: 'จัดการโมเดล LLM สำหรับการสร้างบทสนทนา',
llmModels: 'LLM',
extraParametersDescription:
'จะถูกแนบไปกับเนื้อหาคำขอ เช่น max_tokens, temperature, top_p เป็นต้น',
},
version: {
newVersionAvailable: 'มีเวอร์ชันใหม่',
viewUpdateGuide: 'ดูคู่มือการอัปเดต',
noReleaseNotes: 'ไม่มีบันทึกการเผยแพร่',
},
account: {
settings: 'การตั้งค่าบัญชี',
setPassword: 'ตั้งรหัสผ่าน',
passwordSetSuccess: 'ตั้งรหัสผ่านสำเร็จ',
passwordStatus: 'รหัสผ่านท้องถิ่น',
passwordSet: 'ตั้งค่าแล้ว',
passwordNotSet: 'ยังไม่ได้ตั้งค่า',
passwordSetDescription:
'ตั้งรหัสผ่านแล้ว คุณสามารถเข้าสู่ระบบด้วยอีเมลและรหัสผ่าน',
spaceStatus: 'บัญชี Space',
spaceBound: 'ผูกแล้ว',
spaceNotBound: 'ยังไม่ผูก',
spaceBoundDescription:
'ผูกบัญชี Space แล้ว สามารถใช้ API โมเดลอย่างเป็นทางการและบริการคลาวด์ได้',
bindSpace: 'ผูกบัญชี Space',
bindSpaceDescription: 'ผูกเพื่อใช้ API โมเดลอย่างเป็นทางการและบริการคลาวด์',
bindSpaceButton: 'ผูก',
bindSpaceConfirmTitle: 'ยืนยันการผูก',
bindSpaceConfirmDescription: 'คุณกำลังจะผูกอินสแตนซ์ท้องถิ่นกับบัญชี Space',
bindSpaceWarning:
'หลังจากผูกแล้ว อีเมลเข้าสู่ระบบของคุณจะเปลี่ยนจาก {{localEmail}} เป็นอีเมลบัญชี Space',
bindSpaceSuccess: 'ผูกบัญชี Space สำเร็จ',
bindSpaceFailed: 'ผูกบัญชี Space ล้มเหลว',
bindSpaceInvalidState: 'คำขอผูกไม่ถูกต้อง กรุณาลองใหม่จากการตั้งค่าบัญชี',
setPasswordHint: 'ตั้งรหัสผ่านเพื่อเข้าสู่ระบบด้วยอีเมลและรหัสผ่าน',
spaceEmailMismatch: 'อีเมลเข้าสู่ระบบ Space ไม่ตรงกับอีเมลบัญชีท้องถิ่น',
},
monitoring: {
title: 'แดชบอร์ด',
description: 'ตรวจสอบกิจกรรม Bot, การเรียก LLM และประสิทธิภาพของระบบ',
overview: 'ภาพรวม',
totalMessages: 'ข้อความทั้งหมด',
llmCallsCount: 'การเรียก LLM',
modelCallsCount: 'การเรียกโมเดล',
successRate: 'อัตราความสำเร็จ',
activeSessions: 'เซสชันที่ใช้งานอยู่',
last24Hours: '24 ชั่วโมงล่าสุด',
filters: {
title: 'ตัวกรอง',
bot: 'Bot',
pipeline: 'Pipeline',
allBots: 'Bot ทั้งหมด',
selectBot: 'เลือก Bot',
allPipelines: 'Pipeline ทั้งหมด',
selectPipeline: 'เลือก Pipeline',
loading: 'กำลังโหลด...',
timeRange: 'ช่วงเวลา',
customRange: 'ช่วงเวลาที่กำหนดเอง',
from: 'จาก',
to: 'ถึง',
apply: 'นำไปใช้',
reset: 'รีเซ็ตตัวกรอง',
lastHour: '1 ชั่วโมงล่าสุด',
last6Hours: '6 ชั่วโมงล่าสุด',
last24Hours: '24 ชั่วโมงล่าสุด',
last7Days: '7 วันล่าสุด',
last30Days: '30 วันล่าสุด',
},
tabs: {
messages: 'บันทึกข้อความ',
llmCalls: 'การเรียก LLM',
embeddingCalls: 'การเรียก Embedding',
modelCalls: 'การเรียกโมเดล',
sessions: 'การวิเคราะห์เซสชัน',
feedback: 'ความคิดเห็นผู้ใช้',
errors: 'บันทึกข้อผิดพลาด',
},
messageList: {
timestamp: 'เวลา',
bot: 'Bot',
pipeline: 'Pipeline',
message: 'ข้อความ',
sessionId: 'ID เซสชัน',
status: 'สถานะ',
actions: 'การดำเนินการ',
viewDetails: 'ดูรายละเอียด',
copyId: 'คัดลอก ID',
noMessages: 'ไม่พบข้อความ',
noMessagesDescription: 'ลองปรับตัวกรองหรือกลับมาตรวจสอบภายหลัง',
loading: 'กำลังโหลดข้อความ...',
loadMore: 'โหลดเพิ่มเติม',
autoRefresh: 'รีเฟรชอัตโนมัติ',
platform: 'บทบาท',
user: 'ผู้ใช้',
level: 'ระดับ',
runner: 'ตัวประมวลผล',
viewConversation: 'ดูการสนทนา',
},
llmCalls: {
title: 'การเรียก LLM',
model: 'โมเดล',
tokens: 'โทเคน',
duration: 'ระยะเวลา',
cost: 'ค่าใช้จ่าย',
noData: 'ไม่พบการเรียก LLM',
inputTokens: 'โทเคนอินพุต',
outputTokens: 'โทเคนเอาต์พุต',
totalTokens: 'โทเคนทั้งหมด',
avgDuration: 'ระยะเวลาเฉลี่ย',
calls: 'การเรียก',
},
embeddingCalls: {
title: 'การเรียก Embedding',
model: 'โมเดล',
tokens: 'โทเคน',
duration: 'ระยะเวลา',
noData: 'ไม่พบการเรียก Embedding',
promptTokens: 'โทเคนพรอมต์',
totalTokens: 'โทเคนทั้งหมด',
inputCount: 'จำนวนอินพุต',
knowledgeBase: 'ฐานความรู้',
queryText: 'คำค้นหา',
},
modelCalls: {
title: 'การเรียกโมเดล',
llmModel: 'LLM',
embeddingModel: 'Embedding',
embeddingCall: 'Embedding',
retrieveCall: 'การดึงข้อมูล',
noData: 'ไม่พบการเรียกโมเดล',
},
sessions: {
sessionId: 'ID เซสชัน',
messageCount: 'ข้อความ',
duration: 'ระยะเวลา',
lastActivity: 'กิจกรรมล่าสุด',
noSessions: 'ไม่พบเซสชัน',
startTime: 'เวลาเริ่มต้น',
messageStats: 'สถิติข้อความ',
totalMessages: 'ข้อความทั้งหมด',
successMessages: 'สำเร็จ',
errorMessages: 'ล้มเหลว',
llmStats: 'สถิติ LLM',
noData: 'ไม่พบเซสชัน',
},
errors: {
title: 'ข้อผิดพลาด',
errorType: 'ประเภทข้อผิดพลาด',
errorMessage: 'ข้อความผิดพลาด',
occurredAt: 'เกิดขึ้นเมื่อ',
noErrors: 'ไม่พบข้อผิดพลาด',
stackTrace: 'Stack Trace',
},
feedback: {
title: 'ความคิดเห็นผู้ใช้',
totalFeedback: 'ความคิดเห็นทั้งหมด',
totalLikes: 'ถูกใจ',
totalDislikes: 'ไม่ถูกใจ',
satisfactionRate: 'อัตราความพึงพอใจ',
like: 'ถูกใจ',
dislike: 'ไม่ถูกใจ',
noFeedback: 'ยังไม่มีความคิดเห็น',
noFeedbackDescription: 'ความคิดเห็นของผู้ใช้จะแสดงที่นี่',
feedbackList: 'รายการความคิดเห็น',
feedbackContent: 'เนื้อหาความคิดเห็น',
contextInfo: 'ข้อมูลบริบท',
userId: 'ID ผู้ใช้',
messageId: 'ID ข้อความ',
streamId: 'ID คำถามที่เกี่ยวข้อง',
inaccurateReasons: 'เหตุผลที่ไม่ถูกต้อง',
platform: 'แพลตฟอร์ม',
exportFeedback: 'ส่งออกความคิดเห็น',
},
queries: {
title: 'คำค้นหา',
},
messageDetails: {
noData: 'ไม่มีการเรียก LLM หรือข้อผิดพลาดสำหรับคำค้นหานี้',
},
queryVariables: {
title: 'ตัวแปรคำค้นหา',
},
trafficChart: {
title: 'ภาพรวมปริมาณการใช้งาน',
messages: 'ข้อความ',
llmCalls: 'การเรียก LLM',
noData: 'ไม่มีข้อมูลปริมาณการใช้งาน',
},
viewMonitoring: 'ดูการตรวจสอบ',
refreshData: 'รีเฟรชข้อมูล',
exportData: 'ส่งออกข้อมูล',
export: {
title: 'ส่งออกข้อมูล',
exporting: 'กำลังส่งออก...',
messages: 'ข้อความ',
llmCalls: 'การเรียก LLM',
embeddingCalls: 'การเรียก Embedding',
errors: 'บันทึกข้อผิดพลาด',
sessions: 'เซสชัน',
feedback: 'ความคิดเห็นผู้ใช้',
},
systemStatus: 'สถานะระบบ',
pluginRuntime: 'Plugin Runtime',
boxRuntime: 'Box Runtime',
connected: 'เชื่อมต่อแล้ว',
disconnected: 'ไม่ได้เชื่อมต่อ',
disabled: 'ปิดใช้งาน',
statusDetail: 'สถานะ',
pluginDisabled: 'ระบบปลั๊กอินถูกปิดใช้งาน',
boxDisabled:
'Sandbox Box ถูกปิดใช้งานในการตั้งค่า — เครื่องมือ sandbox, การเพิ่ม/แก้ไข skill และ stdio MCP ใช้งานไม่ได้',
boxUnavailable:
'Sandbox Box ไม่พร้อมใช้งาน — เครื่องมือ sandbox, การเพิ่ม/แก้ไข skill และ stdio MCP ใช้งานไม่ได้',
boxRequiredHint:
'ฟีเจอร์นี้ต้องใช้ Box runtime กรุณาเปิดใช้งานในการตั้งค่า (box.enabled = true) และตรวจสอบว่าการเชื่อมต่อปกติ',
boxBackend: 'แบ็กเอนด์',
boxProfile: 'โปรไฟล์',
boxSandboxes: 'แซนด์บ็อกซ์',
boxSessionCreated: 'สร้างเมื่อ',
boxSessionLastUsed: 'ใช้ล่าสุด',
},
storageAnalysis: {
title: 'วิเคราะห์พื้นที่จัดเก็บ',
description: 'ตรวจสอบการใช้พื้นที่จัดเก็บและรายการที่สามารถล้างได้',
openDialog: 'ดูการวิเคราะห์',
dialogTitle: 'วิเคราะห์พื้นที่จัดเก็บ',
generatedAt: 'สร้างเมื่อ {{time}}',
loading: 'กำลังโหลด...',
refresh: 'รีเฟรช',
totalSize: 'ขนาดรวม',
binaryStorage: 'พื้นที่จัดเก็บไบนารีของปลั๊กอิน',
uploadCleanup: 'ไฟล์อัปโหลดที่หมดอายุ',
logCleanup: 'บันทึกที่หมดอายุ',
sections: 'ส่วนพื้นที่จัดเก็บ',
monitoringTables: 'ตารางการตรวจสอบ',
runtimeTasks: 'งาน runtime',
cleanupPolicy: 'นโยบายการล้างข้อมูล',
uploadRetention: 'ระยะเวลาเก็บไฟล์อัปโหลด',
logRetention: 'ระยะเวลาเก็บบันทึก',
databaseType: 'ชนิดฐานข้อมูล',
days: 'วัน',
missing: 'ไม่มี',
expiredUploads: 'ไฟล์อัปโหลดที่หมดอายุ',
expiredLogs: 'บันทึกที่หมดอายุ',
noExpiredUploads: 'ไม่มีไฟล์อัปโหลดที่หมดอายุ',
noExpiredLogs: 'ไม่มีบันทึกที่หมดอายุ',
sectionNames: {
database: 'ฐานข้อมูล',
logs: 'บันทึก',
storage: 'ไฟล์อัปโหลด',
vector_store: 'คลังเวกเตอร์',
plugins: 'ปลั๊กอิน',
mcp: 'MCP',
temp: 'ไฟล์ชั่วคราว',
},
},
limitation: {
maxBotsReached:
'จำนวน Bot สูงสุด ({{max}}) ถึงขีดจำกัดแล้ว กรุณาลบ Bot ที่มีอยู่ก่อนสร้างใหม่',
maxPipelinesReached:
'จำนวน Pipeline สูงสุด ({{max}}) ถึงขีดจำกัดแล้ว กรุณาลบ Pipeline ที่มีอยู่ก่อนสร้างใหม่',
maxExtensionsReached:
'จำนวนส่วนขยายสูงสุด ({{max}}) ถึงขีดจำกัดแล้ว กรุณาลบเซิร์ฟเวอร์ MCP หรือปลั๊กอินที่มีอยู่ก่อนเพิ่มใหม่',
},
wizard: {
sidebarDescription: 'สร้าง Bot ด้วยขั้นตอนที่แนะนำ',
loading: 'กำลังโหลดตัวช่วย...',
loadError: 'ไม่สามารถโหลดข้อมูลตัวช่วยได้',
skip: 'ข้าม',
skipConfirmMessage:
'คุณสามารถเข้าสู่ตัวช่วยเริ่มต้นอย่างรวดเร็วจากเมนูบัญชีในภายหลัง หรือสร้าง Bot ด้วยตนเอง',
skipConfirmOk: 'ตกลง',
prev: 'ก่อนหน้า',
next: 'ถัดไป',
finish: 'สร้างและติดตั้ง',
confirmCreateBot: 'ยืนยัน สร้าง Bot',
createSuccess: 'สร้าง Pipeline และเชื่อมกับ Bot สำเร็จ!',
botCreateSuccess: 'สร้าง Bot สำเร็จ!',
botSaveSuccess: 'บันทึกและเปิดใช้งาน Bot สำเร็จ!',
createError: 'ไม่สามารถสร้างทรัพยากรได้',
spaceAuthError: 'ไม่สามารถเริ่มต้นการยืนยันสิทธิ์ Space ได้',
skipSaveError: 'ไม่สามารถบันทึกสถานะการข้ามได้ กรุณาลองใหม่',
completeSaveError: 'ไม่สามารถบันทึกสถานะการเสร็จสิ้นได้ กรุณาลองใหม่',
step: {
platform: 'แพลตฟอร์ม',
botConfig: 'ตั้งค่า Bot',
aiEngine: 'เครื่องมือ AI',
done: 'เสร็จสิ้น',
},
platform: {
title: 'เลือกแพลตฟอร์ม',
description: 'เลือกแพลตฟอร์มข้อความที่ Bot ของคุณจะเชื่อมต่อ',
},
botConfig: {
title: 'กำหนดค่า Bot ของคุณ',
description: 'ตั้งค่า Bot ของคุณและตรวจสอบว่าทำงานได้ก่อนดำเนินการต่อ',
saveBot: 'บันทึกและเปิดใช้งาน Bot',
resaveBot: 'บันทึกการกำหนดค่าอีกครั้ง',
botSaved:
'บันทึกและเปิดใช้งาน Bot แล้ว ตรวจสอบบันทึกเพื่อยืนยันการเชื่อมต่อ',
logsTitle: 'บันทึก Bot',
logsDescription:
'ตรวจสอบกิจกรรม Bot เพื่อยืนยันว่าการเชื่อมต่อแพลตฟอร์มทำงานอยู่',
},
aiEngine: {
title: 'เลือกเครื่องมือ AI',
description: 'เลือกเครื่องมือ AI ที่จะขับเคลื่อนความฉลาดของ Bot',
},
spaceBanner: {
message:
'เชื่อมต่อกับ LangBot Space เพื่อรับเครดิตทดลองใช้โมเดลฟรีและตั้งค่าทันทีโดยไม่ต้องกำหนดค่า!',
action: 'ยืนยันสิทธิ์กับ Space',
},
config: {
botInfo: 'ข้อมูล Bot',
botNamePlaceholder: 'กรอกชื่อ Bot',
botDescPlaceholder: 'กรอกคำอธิบาย Bot (ไม่บังคับ)',
platformConfig: 'การกำหนดค่า {{platform}}',
aiConfig: 'การกำหนดค่า {{engine}}',
},
done: {
title: 'เสร็จเรียบร้อย!',
description:
'Bot ของคุณถูกสร้างและเชื่อมต่อกับ Pipeline AI แล้ว คุณสามารถจัดการได้จากหน้าทำงาน',
backToWorkbench: 'กลับไปหน้าทำงาน',
},
},
errorPage: {
unexpectedError: 'เกิดข้อผิดพลาด',
unexpectedErrorDescription:
'เกิดข้อผิดพลาดที่ไม่คาดคิด กรุณาลองใหม่อีกครั้งในภายหลัง',
notFound: 'ไม่พบหน้า',
notFoundDescription: 'หน้าที่คุณกำลังมองหาไม่มีอยู่หรือถูกย้ายแล้ว',
backendUnavailableStatus: 'แบ็กเอนด์ไม่พร้อมใช้งาน',
goBack: 'ย้อนกลับ',
backToHome: 'กลับหน้าหลัก',
backToLogin: 'กลับไปหน้าเข้าสู่ระบบ',
retrying: 'กำลังลองใหม่',
retryFailed:
'ยังไม่สามารถเชื่อมต่อแบ็กเอนด์ได้ โปรดเริ่มบริการแล้วลองใหม่อีกครั้ง',
},
feishu: {
createApp: 'สร้างแอป Feishu ด้วยคลิกเดียว',
scanQRCode:
'สแกนคิวอาร์โค้ดด้านล่างด้วย Feishu เพื่ออนุญาตและสร้างแอปโดยอัตโนมัติ',
waitingForScan: 'กำลังรอสแกน',
createSuccess: 'สร้างแอปสำเร็จแล้ว และกรอกข้อมูลรับรองให้อัตโนมัติ',
createFailed: 'สร้างแอปไม่สำเร็จ',
connecting: 'กำลังเชื่อมต่อบริการ Feishu...',
expired: 'คิวอาร์โค้ดหมดอายุแล้ว กรุณาลองใหม่',
denied: 'ผู้ใช้ปฏิเสธการอนุญาต',
connectionLost: 'การเชื่อมต่อขาดหาย กรุณาลองใหม่',
reconnecting: 'กำลังเชื่อมต่อใหม่...',
retry: 'ลองใหม่',
},
weixin: {
scanLogin: 'เข้าสู่ระบบ WeChat ด้วยคิวอาร์โค้ด',
scanQRCode:
'สแกนคิวอาร์โค้ดด้านล่างด้วย WeChat เพื่ออนุญาตและกรอกโทเคนอัตโนมัติ',
loginSuccess: 'เข้าสู่ระบบสำเร็จ และกรอกโทเคนอัตโนมัติแล้ว',
loginFailed: 'เข้าสู่ระบบไม่สำเร็จ',
},
dingtalk: {
createApp: 'สร้างแอป DingTalk ด้วยคลิกเดียว',
scanQRCode:
'สแกนคิวอาร์โค้ดด้านล่างด้วย DingTalk เพื่ออนุญาตและสร้างแอปโดยอัตโนมัติ',
waitingForScan: 'กำลังรอสแกน',
createSuccess: 'สร้างแอปสำเร็จแล้ว และกรอกข้อมูลรับรองให้อัตโนมัติ',
createFailed: 'สร้างแอปไม่สำเร็จ',
connecting: 'กำลังเชื่อมต่อบริการ DingTalk...',
retry: 'ลองใหม่',
robotCodeNote:
'ไม่สามารถดึงรหัส Robot ได้โดยอัตโนมัติ กรุณาไปที่หลังบ้านนักพัฒนา DingTalk > การตั้งค่า Robot เพื่อคัดลอกด้วยตนเอง ฟิลด์นี้จำเป็นสำหรับฟังก์ชันอย่างการรู้จำภาพและการอัปโหลดไฟล์',
},
wecombot: {
createBot: 'สร้างบอต WeCom ด้วยคลิกเดียว',
scanQRCode:
'สแกนคิวอาร์โค้ดด้านล่างด้วย WeCom เพื่ออนุญาตและสร้างบอตโดยอัตโนมัติ',
waitingForScan: 'กำลังรอสแกน',
createSuccess: 'สร้างบอตสำเร็จแล้ว และกรอกข้อมูลรับรองให้อัตโนมัติ',
createFailed: 'สร้างบอตไม่สำเร็จ',
connecting: 'กำลังเชื่อมต่อบริการ WeCom...',
retry: 'ลองใหม่',
robotNameNote: 'ไม่สามารถดึงชื่อบอตได้โดยอัตโนมัติ กรุณากรอกด้วยตนเอง',
},
pluginPages: {
selectFromSidebar: 'เลือกหน้าปลั๊กอินจากแถบด้านข้าง',
invalidPage: 'หน้าปลั๊กอินไม่ถูกต้อง',
},
skills: {
title: 'สกิล',
description: 'สร้างและจัดการสกิลที่สามารถเปิดใช้ระหว่างการสนทนาได้',
createSkill: 'สร้างสกิล',
createSkillDescription: 'นำเข้าไดเรกทอรีในเครื่องหรือสร้างโดยกรอกข้อมูล',
editSkill: 'แก้ไขสกิล',
getSkillListError: 'ดึงรายการสกิลไม่สำเร็จ: ',
skillName: 'ชื่อสกิล',
displayName: 'ชื่อสกิล',
displayNamePlaceholder: 'ชื่อที่แสดง (รองรับทุกภาษา)',
skillSlug: 'ชื่อไดเรกทอรี',
skillSlugPlaceholder: 'english-name-only',
skillSlugHelp:
'ใช้เป็นชื่อไดเรกทอรีของสกิล รองรับเฉพาะตัวอักษร ตัวเลข ขีดกลาง และขีดล่าง',
skillDescription: 'คำอธิบายสกิล',
skillInstructions: 'คำสั่ง',
saveSuccess: 'บันทึกสำเร็จ',
saveError: 'บันทึกไม่สำเร็จ: ',
createSuccess: 'สร้างสำเร็จ',
createError: 'สร้างไม่สำเร็จ: ',
deleteSuccess: 'ลบสำเร็จ',
deleteError: 'ลบไม่สำเร็จ: ',
deleteConfirmation: 'คุณแน่ใจหรือไม่ว่าต้องการลบสกิลนี้?',
delete: 'ลบสกิล',
skillNameRequired: 'ชื่อสกิลต้องไม่ว่าง',
skillDescriptionRequired: 'คำอธิบายสกิลต้องไม่ว่าง',
packageRootRequired: 'เส้นทางรากของแพ็กเกจต้องไม่ว่าง',
scan: 'สแกน',
scanSuccess: 'สแกนไดเรกทอรีสำเร็จ',
scanError: 'สแกนไดเรกทอรีไม่สำเร็จ: ',
noSkills: 'ยังไม่มีสกิลที่ตั้งค่าไว้',
preview: 'ดูตัวอย่าง',
previewInstructions: 'ตัวอย่างเนื้อหา SKILL.md',
instructionsPlaceholder: 'ป้อนคำสั่งของสกิลในรูปแบบ Markdown...',
descriptionPlaceholder:
'คำอธิบายสั้น ๆ ว่าสกิลนี้ทำอะไร (แสดงให้ LLM เห็น)',
packageRoot: 'ไดเรกทอรีแพ็กเกจ',
packageRootHelp:
'ไม่บังคับ จำเป็นเฉพาะเมื่อนำเข้าไดเรกทอรีสกิลที่มีอยู่ เว้นว่างไว้สำหรับสกิลใหม่ การสแกนจะตรวจไดเรกทอรีปัจจุบันและไดเรกทอรีย่อยลึกสุด 2 ระดับ',
importLocalDirectory: 'นำเข้าไดเรกทอรีสกิลในเครื่อง',
chooseSkillDirectory: 'เลือกไดเรกทอรีของ SKILL.md',
chooseAnotherDirectory: 'เลือกไดเรกทอรีอื่น',
importingDirectory: 'กำลังสร้างตัวอย่าง...',
clearDirectoryPreview: 'ล้างไดเรกทอรีที่เลือก',
noSkillMdInDirectory: 'ไม่พบ SKILL.md ในไดเรกทอรีที่เลือก',
multipleSkillMdInDirectory:
'ไดเรกทอรีที่เลือกมี SKILL.md หลายไฟล์ โปรดเลือกไดเรกทอรีสกิลเดียวโดยตรง',
importDirectoryError: 'นำเข้าไดเรกทอรีไม่สำเร็จ: ',
advancedSettings: 'การตั้งค่าขั้นสูง',
searchSkills: 'ค้นหาสกิล...',
selectSkills: 'เลือกสกิล',
addSkill: 'เพิ่มสกิล',
builtin: 'ในตัว',
importFromGithub: 'ติดตั้งสกิลจาก GitHub',
createManually: 'สร้างด้วยตนเอง',
uploadZip: 'อัปโหลดแพ็กเกจ ZIP',
uploadZipOnly: 'รองรับเฉพาะแพ็กเกจสกิล .zip',
installSuccess: 'ติดตั้งสกิลสำเร็จ',
installError: 'ติดตั้งสกิลไม่สำเร็จ: ',
enterRepoUrl: 'ป้อน URL รีโพสitory GitHub',
repoUrlPlaceholder: 'เช่น https://github.com/owner/repo',
fetchingReleases: 'กำลังดึงรีลีส...',
selectRelease: 'เลือกรีลีส',
noReleasesFound: 'ไม่พบรีลีส',
fetchReleasesError: 'ดึงรีลีสไม่สำเร็จ: ',
selectAsset: 'เลือกไฟล์ที่จะติดตั้ง',
sourceArchive: 'ซอร์สโค้ด (zip)',
noAssetsFound: 'ไม่มีไฟล์ที่ติดตั้งได้ในรีลีสนี้',
fetchAssetsError: 'ดึงไฟล์ไม่สำเร็จ: ',
backToReleases: 'กลับไปที่รีลีส',
backToRepoUrl: 'กลับไปที่ URL รีโพสitory',
backToAssets: 'กลับไปที่ไฟล์',
releaseTag: 'แท็ก: {{tag}}',
publishedAt: 'เผยแพร่เมื่อ: {{date}}',
prerelease: 'พรีรีลีส',
assetSize: 'ขนาด: {{size}}',
confirmInstall: 'ยืนยันการติดตั้ง',
installing: 'กำลังติดตั้งสกิล...',
loading: 'กำลังโหลด...',
previewLoadError: 'โหลดตัวอย่างไม่สำเร็จ',
selectFromSidebar: 'เลือกสกิลจากแถบด้านข้าง',
dangerZone: 'พื้นที่อันตราย',
dangerZoneDescription: 'การกระทำที่ย้อนกลับไม่ได้และทำลายข้อมูล',
files: 'ไฟล์',
noFiles: 'ไม่พบไฟล์',
loadFilesError: 'โหลดไฟล์ไม่สำเร็จ: ',
readFileError: 'อ่านไฟล์ไม่สำเร็จ: ',
saveFile: 'บันทึกไฟล์',
saveFileSuccess: 'บันทึกไฟล์สำเร็จ',
saveFileError: 'บันทึกไฟล์ไม่สำเร็จ: ',
},
addExtension: {
installTitle: 'ติดตั้ง {{type}}',
installConfirm: 'ติดตั้ง {{type}} "{{name}}" หรือไม่?',
installInfoType: 'ประเภท',
installInfoId: 'ID',
installInfoVersion: 'เวอร์ชัน',
installSuccess: 'ติดตั้งสำเร็จ',
installStage: {
mcpInstalling: 'กำลังเพิ่มและเชื่อมต่อเซิร์ฟเวอร์ MCP…',
skillInstalling: 'กำลังติดตั้งสกิล…',
installed: 'เสร็จสิ้น',
},
manualAdd: 'เพิ่มด้วยตนเอง',
uploadExtension: 'ลากแล้ววางหรือคลิกเพื่ออัปโหลด',
uploadHint: 'รองรับไฟล์ .zip (สกิล) และ .lbpkg (ปลั๊กอิน)',
orContinueWith: 'หรือเลือกการทำงานด้านล่าง',
addMCPServerHint: 'เชื่อมต่อส่วนขยายเซิร์ฟเวอร์เครื่องมือ MCP',
installFromGithub: 'ติดตั้งจาก GitHub',
installFromGithubHint: 'แพ็กเกจปลั๊กอินหรือสกิล (SKILL.md)',
githubUrlHelp: 'วาง URL GitHub',
githubUrlTooltip:
'ปลั๊กอิน: วาง URL รีโพสitory, Release หรือ Tag สกิล: วาง URL หน้า SKILL.md ภายในไดเรกทอรีสกิล',
githubUrlPlaceholder: 'รีโพสitory GitHub, Release หรือลิงก์ SKILL.md',
githubUrlRequired: 'ป้อน URL GitHub',
previewSkill: 'ดูตัวอย่างสกิล',
noSkillPreviewFound: 'ไม่พบสกิลที่นำเข้าได้',
createSkill: 'สร้างสกิลใหม่',
createSkillHint: 'นำเข้าจากไดเรกทอรีในเครื่องหรือสร้างด้วยตนเอง',
unsupportedFileType: 'ประเภทไฟล์ไม่รองรับ รองรับเฉพาะไฟล์ .zip และ .lbpkg',
},
};
export default thTH;