diff --git a/src/locales/translated/th.json b/src/locales/translated/th.json new file mode 100644 index 00000000..44b7e3e1 --- /dev/null +++ b/src/locales/translated/th.json @@ -0,0 +1,2402 @@ +{ + "credentials": { + "credentialsViewer": "โปรแกรมดูข้อมูลประจำตัว", + "manageYourSSHCredentials": "จัดการข้อมูลประจำตัว SSH ของคุณอย่างปลอดภัย", + "addCredential": "เพิ่มข้อมูลรับรอง", + "createCredential": "สร้างข้อมูลรับรอง", + "editCredential": "แก้ไขข้อมูลประจำตัว", + "viewCredential": "ดูข้อมูลประจำตัว", + "duplicateCredential": "ข้อมูลประจำตัวซ้ำซ้อน", + "deleteCredential": "ลบข้อมูลรับรอง", + "updateCredential": "อัปเดตข้อมูลรับรอง", + "credentialName": "ชื่อข้อมูลประจำตัว", + "credentialDescription": "คำอธิบาย", + "username": "ชื่อผู้ใช้", + "searchCredentials": "ค้นหาข้อมูลประจำตัว...", + "selectFolder": "เลือกโฟลเดอร์", + "selectAuthType": "เลือกประเภทการตรวจสอบสิทธิ์", + "allFolders": "โฟลเดอร์ทั้งหมด", + "allAuthTypes": "ประเภทการตรวจสอบสิทธิ์ทั้งหมด", + "uncategorized": "ไม่มีหมวดหมู่", + "totalCredentials": "ทั้งหมด", + "keyBased": "อิงตามคีย์", + "passwordBased": "ใช้รหัสผ่าน", + "folders": "โฟลเดอร์", + "noCredentialsMatchFilters": "ไม่มีข้อมูลประจำตัวใดตรงกับตัวกรองของคุณ", + "noCredentialsYet": "ยังไม่ได้สร้างข้อมูลรับรอง", + "createFirstCredential": "สร้างข้อมูลประจำตัวแรกของคุณ", + "failedToFetchCredentials": "ไม่สามารถดึงข้อมูลประจำตัวได้", + "credentialDeletedSuccessfully": "ข้อมูลประจำตัวถูกลบสำเร็จแล้ว", + "failedToDeleteCredential": "ไม่สามารถลบข้อมูลประจำตัวได้", + "confirmDeleteCredential": "คุณแน่ใจหรือไม่ว่าต้องการลบข้อมูลรับรอง \"{{name}}\"?", + "credentialCreatedSuccessfully": "สร้างข้อมูลประจำตัวสำเร็จแล้ว", + "credentialUpdatedSuccessfully": "ข้อมูลประจำตัวได้รับการอัปเดตเรียบร้อยแล้ว", + "failedToSaveCredential": "ไม่สามารถบันทึกข้อมูลประจำตัวได้", + "failedToFetchCredentialDetails": "ไม่สามารถดึงข้อมูลประจำตัวได้", + "failedToFetchHostsUsing": "ไม่สามารถดึงข้อมูลโฮสต์โดยใช้ข้อมูลรับรองนี้ได้", + "loadingCredentials": "กำลังโหลดข้อมูลประจำตัว...", + "retry": "ลองใหม่อีกครั้ง", + "noCredentials": "ไม่มีข้อมูลประจำตัว", + "noCredentialsMessage": "คุณยังไม่ได้เพิ่มข้อมูลประจำตัวใดๆ คลิก \"เพิ่มข้อมูลประจำตัว\" เพื่อเริ่มต้น", + "sshCredentials": "ข้อมูลรับรอง SSH", + "credentialsCount": "{{count}} ข้อมูลประจำตัว", + "refresh": "รีเฟรช", + "passwordRequired": "ต้องใส่รหัสผ่าน", + "sshKeyRequired": "จำเป็นต้องใช้คีย์ SSH", + "credentialAddedSuccessfully": "เพิ่มข้อมูลประจำตัว \"{{name}}\" สำเร็จแล้ว", + "general": "ทั่วไป", + "description": "คำอธิบาย", + "folder": "โฟลเดอร์", + "tags": "แท็ก", + "addTagsSpaceToAdd": "เพิ่มแท็ก (กด space เพื่อเพิ่ม)", + "password": "รหัสผ่าน", + "key": "สำคัญ", + "sshPrivateKey": "คีย์ส่วนตัว SSH", + "upload": "อัปโหลด", + "updateKey": "อัปเดตคีย์", + "keyPassword": "รหัสผ่าน", + "keyType": "ประเภทกุญแจ", + "keyTypeRSA": "อาร์เอสเอ", + "keyTypeECDSA": "อีซีดีเอสเอ", + "keyTypeEd25519": "เอ็ด25519", + "basicInfo": "ข้อมูลพื้นฐาน", + "authentication": "การตรวจสอบสิทธิ์", + "organization": "องค์กร", + "basicInformation": "ข้อมูลพื้นฐาน", + "basicInformationDescription": "ป้อนข้อมูลพื้นฐานสำหรับเอกสารรับรองนี้", + "authenticationMethod": "วิธีการตรวจสอบสิทธิ์", + "authenticationMethodDescription": "เลือกวิธีการยืนยันตัวตนที่คุณต้องการใช้กับเซิร์ฟเวอร์ SSH", + "organizationDescription": "จัดระเบียบข้อมูลประจำตัวของคุณด้วยโฟลเดอร์และแท็ก", + "enterCredentialName": "ป้อนชื่อข้อมูลประจำตัว", + "enterCredentialDescription": "ใส่คำอธิบาย (ไม่บังคับ)", + "enterUsername": "ป้อนชื่อผู้ใช้", + "nameIsRequired": "จำเป็นต้องระบุชื่อข้อมูลประจำตัว", + "usernameIsRequired": "ต้องระบุชื่อผู้ใช้", + "authenticationType": "ประเภทการตรวจสอบสิทธิ์", + "passwordAuthDescription": "ใช้การตรวจสอบสิทธิ์ด้วยรหัสผ่าน", + "sshKeyAuthDescription": "ใช้การตรวจสอบสิทธิ์ด้วยคีย์ SSH", + "passwordIsRequired": "ต้องใส่รหัสผ่าน", + "sshKeyIsRequired": "จำเป็นต้องใช้คีย์ SSH", + "sshKeyType": "ประเภทคีย์ SSH", + "privateKey": "กุญแจส่วนตัว", + "enterPassword": "ป้อนรหัสผ่าน", + "enterPrivateKey": "ป้อนรหัสส่วนตัว", + "keyPassphrase": "รหัสผ่านหลัก", + "enterKeyPassphrase": "ป้อนรหัสผ่าน (ไม่จำเป็น)", + "keyPassphraseOptional": "ตัวเลือกเสริม: เว้นว่างไว้หากคีย์ของคุณไม่มีรหัสผ่าน", + "leaveEmptyToKeepCurrent": "เว้นว่างไว้เพื่อคงค่าปัจจุบันไว้", + "uploadKeyFile": "อัปโหลดไฟล์คีย์", + "generateKeyPairButton": "สร้างคู่คีย์", + "generateKeyPair": "สร้างคู่คีย์", + "generateKeyPairDescription": "สร้างคู่คีย์ SSH ใหม่ หากคุณต้องการปกป้องคีย์ด้วยรหัสผ่าน ให้ป้อนรหัสผ่านลงในช่องรหัสผ่านคีย์ด้านล่างก่อน", + "deploySSHKey": "ปรับใช้คีย์ SSH", + "deploySSHKeyDescription": "ปรับใช้คีย์สาธารณะไปยังเซิร์ฟเวอร์เป้าหมาย", + "sourceCredential": "ข้อมูลประจำตัวแหล่งที่มา", + "targetHost": "โฮสต์เป้าหมาย", + "deploymentProcess": "กระบวนการปรับใช้", + "deploymentProcessDescription": "การดำเนินการนี้จะเพิ่มคีย์สาธารณะลงในไฟล์ ~/.ssh/authorized_keys ของโฮสต์เป้าหมายอย่างปลอดภัยโดยไม่เขียนทับคีย์ที่มีอยู่ การดำเนินการนี้สามารถย้อนกลับได้", + "chooseHostToDeploy": "เลือกโฮสต์ที่จะใช้ในการติดตั้ง...", + "deploying": "กำลังติดตั้ง...", + "name": "ชื่อ", + "noHostsAvailable": "ไม่มีโฮสต์ให้บริการ", + "noHostsMatchSearch": "ไม่พบโฮสต์ใดตรงกับผลการค้นหาของคุณ", + "sshKeyGenerationNotImplemented": "ฟีเจอร์การสร้างคีย์ SSH จะพร้อมใช้งานในเร็วๆ นี้", + "connectionTestingNotImplemented": "ฟีเจอร์ทดสอบการเชื่อมต่อจะพร้อมใช้งานในเร็วๆ นี้", + "testConnection": "ทดสอบการเชื่อมต่อ", + "selectOrCreateFolder": "เลือกหรือสร้างโฟลเดอร์", + "noFolder": "ไม่มีโฟลเดอร์", + "orCreateNewFolder": "หรือสร้างโฟลเดอร์ใหม่", + "addTag": "เพิ่มแท็ก", + "saving": "ประหยัด...", + "credentialId": "รหัสประจำตัว", + "overview": "ภาพรวม", + "security": "ความปลอดภัย", + "usage": "การใช้งาน", + "securityDetails": "รายละเอียดด้านความปลอดภัย", + "securityDetailsDescription": "ดูข้อมูลประจำตัวที่เข้ารหัส", + "credentialSecured": "ยืนยันตัวตนเรียบร้อยแล้ว", + "credentialSecuredDescription": "ข้อมูลสำคัญทั้งหมดจะถูกเข้ารหัสด้วย AES-256", + "passwordAuthentication": "การตรวจสอบรหัสผ่าน", + "keyAuthentication": "การตรวจสอบสิทธิ์ด้วยคีย์", + "securityReminder": "การแจ้งเตือนด้านความปลอดภัย", + "securityReminderText": "ห้ามเปิดเผยข้อมูลประจำตัวของคุณโดยเด็ดขาด ข้อมูลทั้งหมดได้รับการเข้ารหัสขณะจัดเก็บ", + "hostsUsingCredential": "โฮสต์ที่ใช้ข้อมูลประจำตัวนี้", + "noHostsUsingCredential": "ขณะนี้ไม่มีโฮสต์ใดใช้ข้อมูลรับรองนี้อยู่", + "timesUsed": "จำนวนครั้งที่ใช้", + "lastUsed": "ใช้งานครั้งล่าสุด", + "connectedHosts": "โฮสต์ที่เชื่อมต่อ", + "created": "สร้าง", + "lastModified": "แก้ไขล่าสุด", + "usageStatistics": "สถิติการใช้งาน", + "copiedToClipboard": "{{field}} คัดลอกไปยังคลิปบอร์ดแล้ว", + "failedToCopy": "ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้", + "sshKey": "คีย์ SSH", + "createCredentialDescription": "สร้างข้อมูลรับรอง SSH ใหม่สำหรับการเข้าถึงที่ปลอดภัย", + "editCredentialDescription": "อัปเดตข้อมูลประจำตัว", + "listView": "รายการ", + "folderView": "โฟลเดอร์", + "unknownCredential": "ไม่ทราบ", + "confirmRemoveFromFolder": "คุณแน่ใจหรือไม่ว่าต้องการลบ \"{{name}}\" ออกจากโฟลเดอร์ \"{{folder}}\"? ข้อมูลรับรองจะถูกย้ายไปยัง \"ไม่มีหมวดหมู่\"", + "removedFromFolder": "ข้อมูลประจำตัว \"{{name}}\" ถูกลบออกจากโฟลเดอร์เรียบร้อยแล้ว", + "failedToRemoveFromFolder": "ไม่สามารถลบข้อมูลประจำตัวออกจากโฟลเดอร์ได้", + "folderRenamed": "เปลี่ยนชื่อโฟลเดอร์ \"{{oldName}}\" เป็น \"{{newName}}\" สำเร็จแล้ว", + "failedToRenameFolder": "ไม่สามารถเปลี่ยนชื่อโฟลเดอร์ได้", + "movedToFolder": "ข้อมูลประจำตัว \"{{name}}\" ถูกย้ายไปยัง \"{{folder}}\" สำเร็จแล้ว", + "failedToMoveToFolder": "ไม่สามารถย้ายข้อมูลประจำตัวไปยังโฟลเดอร์ได้", + "sshPublicKey": "คีย์สาธารณะ SSH", + "publicKeyNote": "คีย์สาธารณะเป็นตัวเลือกเสริม แต่แนะนำให้ใช้เพื่อการตรวจสอบความถูกต้องของคีย์", + "publicKeyUploaded": "อัปโหลดคีย์สาธารณะแล้ว", + "uploadPublicKey": "อัปโหลดคีย์สาธารณะ", + "uploadPrivateKeyFile": "อัปโหลดไฟล์คีย์ส่วนตัว", + "uploadPublicKeyFile": "อัปโหลดไฟล์คีย์สาธารณะ", + "privateKeyRequiredForGeneration": "ต้องใช้คีย์ส่วนตัวในการสร้างคีย์สาธารณะ", + "failedToGeneratePublicKey": "ไม่สามารถสร้างคีย์สาธารณะได้", + "generatePublicKey": "สร้างจากรหัสส่วนตัว", + "publicKeyGeneratedSuccessfully": "สร้างคีย์สาธารณะสำเร็จแล้ว", + "detectedKeyType": "ตรวจพบประเภทคีย์", + "detectingKeyType": "กำลังตรวจจับ...", + "optional": "ไม่จำเป็น", + "generateKeyPairNew": "สร้างคู่คีย์ใหม่", + "generateEd25519": "สร้าง Ed25519", + "generateECDSA": "สร้าง ECDSA", + "generateRSA": "สร้าง RSA", + "keyTypeEcdsaP256": "ECDSA P-256 (SSH)", + "keyTypeEcdsaP384": "ECDSA P-384 (SSH)", + "keyTypeEcdsaP521": "ECDSA P-521 (SSH)", + "keyTypeDsa": "ดีเอสเอ (เอสเอช)", + "keyTypeRsaSha256": "อาร์เอสเอ-เอสเอชเอ2-256", + "keyTypeRsaSha512": "อาร์เอสเอ-เอสเอชเอ2-512", + "keyPairGeneratedSuccessfully": "{{keyType}} สร้างคู่คีย์สำเร็จแล้ว", + "failedToGenerateKeyPair": "ไม่สามารถสร้างคู่คีย์ได้", + "generateKeyPairNote": "สร้างคู่คีย์ SSH ใหม่โดยตรง ซึ่งจะแทนที่คีย์ที่มีอยู่เดิมในรูปแบบเดิม", + "invalidKey": "คีย์ไม่ถูกต้อง", + "detectionError": "ข้อผิดพลาดในการตรวจจับ", + "removing": "กำลังลบ:", + "clickToEditCredential": "คลิกเพื่อแก้ไขข้อมูลประจำตัว", + "dragToMoveBetweenFolders": "ลากเพื่อย้ายระหว่างโฟลเดอร์", + "keyBasedOnlyForDeployment": "สามารถใช้งานได้เฉพาะข้อมูลรับรองที่ใช้คีย์ SSH เท่านั้น", + "publicKeyRequiredForDeployment": "จำเป็นต้องใช้คีย์สาธารณะในการใช้งาน", + "selectTargetHost": "โปรดเลือกโฮสต์เป้าหมาย", + "keyDeployedSuccessfully": "คีย์ SSH ถูกใช้งานสำเร็จแล้ว", + "deploymentFailed": "การติดตั้งล้มเหลว", + "failedToDeployKey": "ไม่สามารถใช้งานคีย์ SSH ได้", + "clickToRenameFolder": "คลิกเพื่อเปลี่ยนชื่อโฟลเดอร์", + "renameFolder": "เปลี่ยนชื่อโฟลเดอร์", + "idLabel": "รหัสประจำตัว:" + }, + "dragIndicator": { + "error": "ข้อผิดพลาด: {{error}}", + "dragging": "การลาก {{fileName}}", + "preparing": "กำลังเตรียม {{fileName}}", + "readySingle": "พร้อมดาวน์โหลด {{fileName}}", + "readyMultiple": "พร้อมดาวน์โหลดไฟล์ {{count}} แล้ว", + "batchDrag": "ลากไฟล์ {{count}} ไปยังเดสก์ท็อป", + "dragToDesktop": "ลากไปที่เดสก์ท็อป", + "canDragAnywhere": "คุณสามารถลากไฟล์ไปที่ใดก็ได้บนเดสก์ท็อปของคุณ" + }, + "sshTools": { + "title": "เครื่องมือ SSH", + "closeTools": "ปิดเครื่องมือ SSH", + "keyRecording": "การบันทึกคีย์", + "startKeyRecording": "เริ่มการบันทึกคีย์", + "stopKeyRecording": "หยุดการบันทึกคีย์", + "selectTerminals": "เลือกเทอร์มินัล:", + "typeCommands": "พิมพ์คำสั่ง (รองรับทุกปุ่ม):", + "commandsWillBeSent": "คำสั่งจะถูกส่งไปยังเทอร์มินัลที่เลือก {{count}} เครื่อง", + "settings": "การตั้งค่า", + "enableRightClickCopyPaste": "เปิดใช้งานการคัดลอก/วางโดยคลิกขวา", + "shareIdeas": "มีไอเดียเกี่ยวกับสิ่งที่จะเกิดขึ้นต่อไปสำหรับเครื่องมือ SSH บ้างไหม? แชร์ไอเดียของคุณได้ที่นี่", + "scripts": { + "inputPlaceholder": "เช่น คำสั่งระบบ, สคริปต์ Docker" + } + }, + "snippets": { + "title": "เศษเสี้ยว", + "new": "โค้ดตัวอย่างใหม่", + "create": "สร้างโค้ดสั้น", + "edit": "แก้ไขส่วนย่อย", + "run": "วิ่ง", + "empty": "ยังไม่มีตัวอย่างโค้ด", + "emptyHint": "สร้างโค้ดตัวอย่างเพื่อบันทึกคำสั่งที่ใช้บ่อย", + "searchSnippets": "ตัวอย่างการค้นหา...", + "name": "ชื่อ", + "description": "คำอธิบาย", + "content": "สั่งการ", + "namePlaceholder": "เช่น รีสตาร์ท Nginx", + "descriptionPlaceholder": "คำอธิบายเพิ่มเติม (ไม่บังคับ)", + "contentPlaceholder": "เช่น sudo systemctl restart nginx", + "nameRequired": "ต้องระบุชื่อ", + "contentRequired": "จำเป็นต้องใช้คำสั่ง", + "createDescription": "สร้างส่วนย่อยคำสั่งใหม่เพื่อเรียกใช้งานอย่างรวดเร็ว", + "editDescription": "แก้ไขส่วนคำสั่งนี้", + "deleteConfirmTitle": "ลบโค้ดส่วนย่อย", + "deleteConfirmDescription": "คุณแน่ใจหรือไม่ว่าต้องการลบ \"{{name}}\"?", + "createSuccess": "สร้างโค้ดตัวอย่างสำเร็จแล้ว", + "updateSuccess": "อัปเดตข้อมูลตัวอย่างสำเร็จแล้ว", + "deleteSuccess": "ลบส่วนย่อยสำเร็จแล้ว", + "createFailed": "ไม่สามารถสร้างโค้ดตัวอย่างได้", + "updateFailed": "ไม่สามารถอัปเดตโค้ดตัวอย่างได้", + "deleteFailed": "ไม่สามารถลบส่วนย่อยได้", + "failedToFetch": "ไม่สามารถดึงข้อมูลตัวอย่างได้", + "executeSuccess": "กำลังดำเนินการ: {{name}}", + "copySuccess": "คัดลอก \"{{name}}\" ไปยังคลิปบอร์ด", + "runTooltip": "เรียกใช้โค้ดส่วนนี้ในเทอร์มินัล", + "copyTooltip": "คัดลอกข้อความไปยังคลิปบอร์ด", + "editTooltip": "แก้ไขส่วนนี้", + "deleteTooltip": "ลบส่วนนี้ออก", + "newFolder": "โฟลเดอร์ใหม่", + "reorderSameFolder": "สามารถจัดเรียงลำดับข้อความใหม่ได้เฉพาะภายในโฟลเดอร์เดียวกันเท่านั้น", + "reorderSuccess": "เรียงลำดับส่วนย่อยใหม่สำเร็จแล้ว", + "reorderFailed": "ไม่สามารถเรียงลำดับส่วนย่อยใหม่ได้", + "deleteFolderConfirm": "ลบโฟลเดอร์ \"{{name}}\"? ข้อความย่อทั้งหมดจะถูกย้ายไปยังหมวดหมู่ที่ไม่มีการจัดหมวดหมู่", + "deleteFolderSuccess": "ลบโฟลเดอร์สำเร็จแล้ว", + "deleteFolderFailed": "ไม่สามารถลบโฟลเดอร์ได้", + "updateFolderSuccess": "อัปเดตโฟลเดอร์สำเร็จแล้ว", + "createFolderSuccess": "สร้างโฟลเดอร์สำเร็จแล้ว", + "updateFolderFailed": "ไม่สามารถอัปเดตโฟลเดอร์ได้", + "createFolderFailed": "ไม่สามารถสร้างโฟลเดอร์ได้", + "selectTerminals": "เลือกเทอร์มินัล (ไม่จำเป็น)", + "executeOnSelected": "ดำเนินการบนเทอร์มินัลที่เลือก {{count}} เครื่อง", + "executeOnCurrent": "เรียกใช้คำสั่งบนเทอร์มินัลปัจจุบัน (คลิกเพื่อเลือกหลายรายการ)", + "folder": "โฟลเดอร์", + "selectFolder": "เลือกโฟลเดอร์หรือปล่อยว่างไว้", + "noFolder": "ไม่มีโฟลเดอร์ (ไม่ได้จัดหมวดหมู่)", + "folderName": "ชื่อโฟลเดอร์", + "folderNameRequired": "ต้องระบุชื่อโฟลเดอร์", + "folderColor": "สีของโฟลเดอร์", + "folderIcon": "ไอคอนโฟลเดอร์", + "preview": "ตัวอย่าง", + "updateFolder": "อัปเดตโฟลเดอร์", + "createFolder": "สร้างโฟลเดอร์", + "editFolder": "แก้ไขโฟลเดอร์", + "editFolderDescription": "ปรับแต่งโฟลเดอร์โค้ดสั้นของคุณ", + "createFolderDescription": "จัดระเบียบข้อความย่อของคุณลงในโฟลเดอร์" + }, + "commandHistory": { + "title": "ประวัติศาสตร์", + "searchPlaceholder": "คำสั่งค้นหา...", + "noTerminal": "ไม่มีเทอร์มินัลที่ใช้งานอยู่", + "noTerminalHint": "เปิดเทอร์มินัลเพื่อดูประวัติคำสั่ง", + "empty": "ยังไม่มีประวัติคำสั่งใดๆ", + "emptyHint": "เรียกใช้คำสั่งในเทอร์มินัลที่ใช้งานอยู่เพื่อสร้างประวัติการใช้งาน", + "noResults": "ไม่พบคำสั่งใดๆ", + "noResultsHint": "ไม่มีคำสั่งใดตรงกับ \"{{query}}\"", + "deleteSuccess": "คำสั่งถูกลบออกจากประวัติแล้ว", + "deleteFailed": "ไม่สามารถลบคำสั่งได้", + "deleteTooltip": "คำสั่งลบ", + "tabHint": "ใช้ปุ่ม Tab ในเทอร์มินัลเพื่อเติมคำสั่งอัตโนมัติจากประวัติคำสั่ง หากเปิดใช้งานไว้ในโปรไฟล์ผู้ใช้", + "authRequiredRefresh": "จำเป็นต้องยืนยันตัวตน โปรดรีเฟรชหน้าเว็บ", + "dataAccessLockedReauth": "การเข้าถึงข้อมูลถูกล็อก โปรดยืนยันตัวตนอีกครั้ง", + "loading": "กำลังโหลดประวัติคำสั่ง...", + "error": "เกิดข้อผิดพลาดในการโหลดประวัติ" + }, + "splitScreen": { + "title": "แบ่งหน้าจอ", + "none": "ไม่มี", + "twoSplit": "2 ทาง", + "threeSplit": "3 ทาง", + "fourSplit": "4 ทาง", + "availableTabs": "แท็บที่มีให้เลือก", + "dragTabsHint": "ลากแท็บไปที่เซลล์เค้าโครงด้านล่างเพื่อกำหนดค่าให้กับเซลล์เหล่านั้น", + "layout": "รูปแบบการแบ่งหน้าจอ", + "dropHere": "แท็บเลื่อนลงตรงนี้", + "apply": "ใช้การแบ่ง", + "clear": "เคลียร์ สปลิต", + "selectMode": "เลือกโหมดแบ่งหน้าจอ", + "helpText": "เลือกจำนวนแท็บที่คุณต้องการดูพร้อมกัน", + "success": "การแบ่งหน้าจอใช้งานได้สำเร็จแล้ว", + "cleared": "หน้าจอแบ่งครึ่งถูกเคลียร์แล้ว", + "error": { + "noAssignments": "โปรดกำหนดแท็บอย่างน้อยหนึ่งแท็บให้กับเค้าโครง", + "fillAllSlots": "กรุณากรอกข้อมูลในช่อง {{count}} ทั้งหมดก่อนสมัคร" + } + }, + "homepage": { + "loggedInTitle": "เข้าสู่ระบบเรียบร้อยแล้ว!", + "loggedInMessage": "คุณเข้าสู่ระบบเรียบร้อยแล้ว! ใช้แถบด้านข้างเพื่อเข้าถึงเครื่องมือทั้งหมดที่มีให้ใช้งาน เริ่มต้นด้วยการสร้างโฮสต์ SSH ในแท็บตัวจัดการ SSH เมื่อสร้างเสร็จแล้ว คุณสามารถเชื่อมต่อกับโฮสต์นั้นโดยใช้แอปอื่นๆ ในแถบด้านข้างได้", + "failedToLoadAlerts": "ไม่สามารถโหลดการแจ้งเตือนได้", + "failedToDismissAlert": "ไม่สามารถปิดการแจ้งเตือนได้" + }, + "serverConfig": { + "title": "การกำหนดค่าเซิร์ฟเวอร์", + "description": "กำหนดค่า URL ของเซิร์ฟเวอร์ Termix เพื่อเชื่อมต่อกับบริการแบ็กเอนด์ของคุณ", + "serverUrl": "URL ของเซิร์ฟเวอร์", + "enterServerUrl": "โปรดป้อน URL ของเซิร์ฟเวอร์", + "testConnectionFirst": "โปรดทดสอบการเชื่อมต่อก่อน", + "connectionSuccess": "เชื่อมต่อสำเร็จ!", + "connectionFailed": "การเชื่อมต่อล้มเหลว", + "connectionError": "เกิดข้อผิดพลาดในการเชื่อมต่อ", + "connected": "เชื่อมต่อแล้ว", + "disconnected": "ตัดการเชื่อมต่อ", + "configSaved": "บันทึกการตั้งค่าสำเร็จแล้ว", + "saveFailed": "ไม่สามารถบันทึกการตั้งค่าได้", + "saveError": "เกิดข้อผิดพลาดในการบันทึกการตั้งค่า", + "saving": "ประหยัด...", + "saveConfig": "บันทึกการตั้งค่า", + "helpText": "ป้อน URL ที่เซิร์ฟเวอร์ Termix ของคุณกำลังทำงานอยู่ (เช่น http://localhost:30001 หรือ https://your-server.com)", + "warning": "คำเตือน", + "notValidatedWarning": "URL ไม่ได้รับการตรวจสอบความถูกต้อง - โปรดตรวจสอบให้แน่ใจว่าถูกต้อง", + "changeServer": "เปลี่ยนเซิร์ฟเวอร์", + "mustIncludeProtocol": "URL ของเซิร์ฟเวอร์ต้องขึ้นต้นด้วย http:// หรือ https://" + }, + "versionCheck": { + "error": "ข้อผิดพลาดในการตรวจสอบเวอร์ชัน", + "checkFailed": "ไม่สามารถตรวจสอบการอัปเดตได้", + "upToDate": "แอปได้รับการอัปเดตแล้ว", + "currentVersion": "คุณกำลังใช้งานเวอร์ชัน {{version}}", + "updateAvailable": "มีการอัปเดตแล้ว", + "newVersionAvailable": "มีเวอร์ชันใหม่ให้ใช้งานแล้ว! คุณกำลังใช้งาน {{current}}อยู่ แต่มี {{latest}} ให้ใช้งานแล้ว", + "releasedOn": "เผยแพร่เมื่อ {{date}}", + "downloadUpdate": "ดาวน์โหลดการอัปเดต", + "dismiss": "อนุญาตให้ออกไป", + "checking": "กำลังตรวจสอบการอัปเดต...", + "checkUpdates": "ตรวจสอบการอัปเดต", + "checkingUpdates": "กำลังตรวจสอบการอัปเดต...", + "refresh": "รีเฟรช", + "updateRequired": "ต้องอัปเดตข้อมูล", + "updateDismissed": "การแจ้งเตือนการอัปเดตถูกปิด", + "noUpdatesFound": "ไม่พบข้อมูลอัปเดต" + }, + "common": { + "close": "ปิด", + "minimize": "ลดขนาด", + "online": "ออนไลน์", + "offline": "ออฟไลน์", + "continue": "ดำเนินการต่อ", + "maintenance": "การซ่อมบำรุง", + "degraded": "เสื่อมสภาพ", + "discord": "ดิสคอร์ด", + "error": "ข้อผิดพลาด", + "warning": "คำเตือน", + "info": "ข้อมูล", + "success": "ความสำเร็จ", + "loading": "กำลังโหลด...", + "required": "ที่จำเป็น", + "optional": "ไม่จำเป็น", + "connect": "เชื่อมต่อ", + "connecting": "กำลังเชื่อมต่อ...", + "creating": "กำลังสร้าง...", + "clear": "ชัดเจน", + "toggleSidebar": "สลับแถบด้านข้าง", + "sidebar": "แถบด้านข้าง", + "home": "บ้าน", + "expired": "หมดอายุ", + "expiresToday": "หมดอายุวันนี้", + "expiresTomorrow": "หมดอายุในอีก {{days}} วัน", + "updateAvailable": "มีการอัปเดตแล้ว", + "sshPath": "เส้นทาง SSH", + "localPath": "เส้นทางท้องถิ่น", + "appName": "เทอร์มิกซ์", + "resetSidebarWidth": "รีเซ็ตความกว้างของแถบด้านข้าง", + "dragToResizeSidebar": "ลากเพื่อปรับขนาดแถบด้านข้าง", + "noAuthCredentials": "ไม่มีข้อมูลรับรองการตรวจสอบสิทธิ์สำหรับโฮสต์ SSH นี้", + "noReleases": "ไม่มีการเผยแพร่", + "updatesAndReleases": "การอัปเดตและการเผยแพร่", + "newVersionAvailable": "มีเวอร์ชันใหม่ ({{version}}) ให้ใช้งานแล้ว", + "failedToFetchUpdateInfo": "ไม่สามารถดึงข้อมูลการอัปเดตได้", + "preRelease": "ก่อนวางจำหน่าย", + "loginFailed": "การเข้าสู่ระบบล้มเหลว", + "noReleasesFound": "ไม่พบข้อมูลการเผยแพร่ใดๆ", + "yourBackupCodes": "รหัสสำรองข้อมูลของคุณ", + "sendResetCode": "ส่งรหัสรีเซ็ต", + "verifyCode": "ยืนยันรหัส", + "resetPassword": "รีเซ็ตรหัสผ่าน", + "resetCode": "รีเซ็ตโค้ด", + "newPassword": "รหัสผ่านใหม่", + "folder": "โฟลเดอร์", + "file": "ไฟล์", + "renamedSuccessfully": "เปลี่ยนชื่อสำเร็จแล้ว", + "deletedSuccessfully": "ลบสำเร็จแล้ว", + "noTunnelConnections": "ไม่มีการกำหนดค่าการเชื่อมต่ออุโมงค์", + "sshTools": "เครื่องมือ SSH", + "english": "ภาษาอังกฤษ", + "chinese": "ชาวจีน", + "german": "ภาษาเยอรมัน", + "cancel": "ยกเลิก", + "username": "ชื่อผู้ใช้", + "name": "ชื่อ", + "login": "เข้าสู่ระบบ", + "logout": "ออกจากระบบ", + "register": "ลงทะเบียน", + "password": "รหัสผ่าน", + "version": "เวอร์ชั่น", + "confirmPassword": "ยืนยันรหัสผ่าน", + "back": "กลับ", + "email": "อีเมล", + "submit": "ส่ง", + "change": "เปลี่ยน", + "save": "บันทึก", + "saving": "ประหยัด...", + "delete": "ลบ", + "edit": "แก้ไข", + "add": "เพิ่ม", + "search": "ค้นหา", + "confirm": "ยืนยัน", + "yes": "ใช่", + "no": "เลขที่", + "ok": "ตกลง", + "enabled": "เปิดใช้งาน", + "disabled": "พิการ", + "important": "สำคัญ", + "notEnabled": "ไม่ได้เปิดใช้งาน", + "settingUp": "กำลังตั้งค่า...", + "next": "ต่อไป", + "previous": "ก่อนหน้า", + "refresh": "รีเฟรช", + "settings": "การตั้งค่า", + "profile": "ประวัติโดยย่อ", + "help": "ช่วย", + "about": "เกี่ยวกับ", + "language": "ภาษา", + "autoDetect": "ตรวจจับอัตโนมัติ", + "changeAccountPassword": "เปลี่ยนรหัสผ่านบัญชีของคุณ", + "passwordResetTitle": "รีเซ็ตรหัสผ่าน", + "passwordResetDescription": "คุณกำลังจะรีเซ็ตรหัสผ่านของคุณ การดำเนินการนี้จะทำให้คุณออกจากระบบในทุกเซสชันที่ใช้งานอยู่", + "enterSixDigitCode": "ป้อนรหัส 6 หลักจากบันทึกคอนเทนเนอร์ Docker สำหรับผู้ใช้:", + "enterNewPassword": "ป้อนรหัสผ่านใหม่สำหรับผู้ใช้:", + "passwordsDoNotMatch": "รหัสผ่านไม่ตรงกัน", + "passwordMinLength": "รหัสผ่านต้องมีความยาวอย่างน้อย 6 ตัวอักษร", + "passwordResetSuccess": "รีเซ็ตรหัสผ่านสำเร็จแล้ว! คุณสามารถเข้าสู่ระบบด้วยรหัสผ่านใหม่ของคุณได้แล้ว", + "failedToInitiatePasswordReset": "ไม่สามารถเริ่มการรีเซ็ตรหัสผ่านได้", + "failedToVerifyResetCode": "ไม่สามารถตรวจสอบรหัสรีเซ็ตได้", + "failedToCompletePasswordReset": "การรีเซ็ตรหัสผ่านล้มเหลว", + "documentation": "เอกสารประกอบ", + "retry": "ลองใหม่อีกครั้ง", + "checking": "กำลังตรวจสอบ...", + "checkingDatabase": "กำลังตรวจสอบการเชื่อมต่อฐานข้อมูล...", + "actions": "การกระทำ", + "remove": "ลบ", + "revoke": "ถอน", + "create": "สร้าง" + }, + "nav": { + "home": "บ้าน", + "hosts": "โฮสต์", + "credentials": "คุณสมบัติ", + "terminal": "เทอร์มินัล", + "docker": "ด็อกเกอร์", + "tunnels": "อุโมงค์", + "fileManager": "ตัวจัดการไฟล์", + "serverStats": "สถิติเซิร์ฟเวอร์", + "admin": "ผู้ดูแลระบบ", + "userProfile": "โปรไฟล์ผู้ใช้", + "tools": "เครื่องมือ", + "snippets": "เศษเสี้ยว", + "newTab": "แท็บใหม่", + "splitScreen": "แบ่งหน้าจอ", + "closeTab": "ปิดแท็บ", + "sshManager": "ตัวจัดการ SSH", + "hostManager": "ผู้จัดการโฮสต์", + "cannotSplitTab": "ไม่สามารถแบ่งแท็บนี้ได้", + "tabNavigation": "การนำทางแท็บ", + "hostTabTitle": "{{username}}@{{ip}}:{{port}}" + }, + "admin": { + "title": "การตั้งค่าผู้ดูแลระบบ", + "oidc": "โอไอดีซี", + "users": "ผู้ใช้", + "userManagement": "การจัดการผู้ใช้", + "makeAdmin": "ตั้งค่าผู้ดูแลระบบ", + "removeAdmin": "ลบผู้ดูแลระบบ", + "deleteUser": "ลบผู้ใช้ {{username}}? ไม่สามารถยกเลิกได้", + "allowRegistration": "อนุญาตการลงทะเบียน", + "oidcSettings": "การตั้งค่า OIDC", + "clientId": "รหัสลูกค้า", + "clientSecret": "ความลับของลูกค้า", + "issuerUrl": "URL ของผู้ออก", + "authorizationUrl": "URL การอนุญาต", + "tokenUrl": "URL โทเค็น", + "updateSettings": "อัปเดตการตั้งค่า", + "confirmDelete": "คุณแน่ใจหรือไม่ว่าต้องการลบผู้ใช้รายนี้?", + "confirmMakeAdmin": "คุณแน่ใจหรือไม่ว่าต้องการให้ {{username}} เป็นผู้ดูแลระบบ?", + "confirmRemoveAdmin": "คุณแน่ใจหรือไม่ว่าต้องการลบสถานะผู้ดูแลระบบออกจาก {{username}}?", + "externalAuthentication": "การตรวจสอบสิทธิ์ภายนอก (OIDC)", + "configureExternalProvider": "กำหนดค่าผู้ให้บริการยืนยันตัวตนภายนอกสำหรับการตรวจสอบสิทธิ์ OIDC/OAuth2", + "userIdentifierPath": "เส้นทางตัวระบุผู้ใช้", + "displayNamePath": "ชื่อที่แสดง เส้นทาง", + "scopes": "กล้องส่องทางไกล", + "saving": "ประหยัด...", + "saveConfiguration": "บันทึกการตั้งค่า", + "reset": "รีเซ็ต", + "success": "ความสำเร็จ", + "loading": "กำลังโหลด...", + "refresh": "รีเฟรช", + "loadingUsers": "กำลังโหลดผู้ใช้...", + "username": "ชื่อผู้ใช้", + "type": "พิมพ์", + "actions": "การกระทำ", + "external": "ภายนอก", + "local": "ท้องถิ่น", + "adminManagement": "การจัดการผู้ดูแลระบบ", + "makeUserAdmin": "ตั้งค่าผู้ใช้เป็นผู้ดูแลระบบ", + "adding": "เพิ่ม...", + "currentAdmins": "ผู้ดูแลระบบปัจจุบัน", + "adminBadge": "ผู้ดูแลระบบ", + "removeAdminButton": "ลบผู้ดูแลระบบ", + "general": "ทั่วไป", + "userRegistration": "การลงทะเบียนผู้ใช้", + "allowNewAccountRegistration": "อนุญาตให้ลงทะเบียนบัญชีใหม่", + "allowPasswordLogin": "อนุญาตให้เข้าสู่ระบบด้วยชื่อผู้ใช้/รหัสผ่าน", + "missingRequiredFields": "กรอกข้อมูลในช่องที่จำเป็นไม่ครบถ้วน: {{fields}}", + "oidcConfigurationUpdated": "การกำหนดค่า OIDC ได้รับการอัปเดตเรียบร้อยแล้ว!", + "failedToFetchOidcConfig": "ไม่สามารถดึงข้อมูลการกำหนดค่า OIDC ได้", + "failedToFetchRegistrationStatus": "ไม่สามารถดึงสถานะการลงทะเบียนได้", + "failedToFetchPasswordLoginStatus": "ไม่สามารถดึงสถานะการเข้าสู่ระบบด้วยรหัสผ่านได้", + "failedToFetchUsers": "ไม่สามารถดึงข้อมูลผู้ใช้ได้", + "oidcConfigurationDisabled": "ปิดใช้งานการตั้งค่า OIDC สำเร็จแล้ว!", + "failedToUpdateOidcConfig": "การอัปเดตการกำหนดค่า OIDC ล้มเหลว", + "failedToDisableOidcConfig": "ไม่สามารถปิดใช้งานการกำหนดค่า OIDC ได้", + "enterUsernameToMakeAdmin": "ป้อนชื่อผู้ใช้เพื่อเข้าเป็นผู้ดูแลระบบ", + "userIsNowAdmin": "ผู้ใช้ {{username}} ตอนนี้เป็นผู้ดูแลระบบแล้ว", + "failedToMakeUserAdmin": "ไม่สามารถทำให้ผู้ใช้เป็นผู้ดูแลระบบได้", + "removeAdminStatus": "ลบสถานะผู้ดูแลระบบออกจาก {{username}}?", + "adminStatusRemoved": "สถานะผู้ดูแลระบบถูกลบออกจาก {{username}}", + "failedToRemoveAdminStatus": "ไม่สามารถลบสถานะผู้ดูแลระบบได้", + "userDeletedSuccessfully": "ผู้ใช้ {{username}} ถูกลบสำเร็จแล้ว", + "failedToDeleteUser": "ไม่สามารถลบผู้ใช้ได้", + "overrideUserInfoUrl": "แทนที่ URL ข้อมูลผู้ใช้ (ไม่จำเป็น)", + "failedToFetchSessions": "ไม่สามารถดึงข้อมูลเซสชันได้", + "sessionRevokedSuccessfully": "การยกเลิกเซสชันสำเร็จแล้ว", + "failedToRevokeSession": "ไม่สามารถยกเลิกเซสชันได้", + "confirmRevokeSession": "คุณแน่ใจหรือไม่ว่าต้องการยกเลิกเซสชั่นนี้?", + "confirmRevokeAllSessions": "คุณแน่ใจหรือไม่ว่าต้องการยกเลิกเซสชันทั้งหมดสำหรับผู้ใช้รายนี้?", + "failedToRevokeSessions": "ไม่สามารถยกเลิกเซสชันได้", + "sessionsRevokedSuccessfully": "การยกเลิกเซสชันสำเร็จแล้ว", + "linkToPasswordAccount": "เชื่อมโยงไปยังบัญชีรหัสผ่าน", + "linkOIDCDialogTitle": "เชื่อมโยงบัญชี OIDC กับบัญชีรหัสผ่าน", + "linkOIDCDialogDescription": "เชื่อมโยง {{username}} (ผู้ใช้ OIDC) กับบัญชีรหัสผ่านที่มีอยู่แล้ว การทำเช่นนี้จะเปิดใช้งานการตรวจสอบสิทธิ์แบบสองขั้นตอนสำหรับบัญชีรหัสผ่าน", + "createUser": "สร้างผู้ใช้", + "createUserDescription": "สร้างผู้ใช้ภายในเครื่องใหม่ โดยระบุชื่อผู้ใช้และรหัสผ่าน", + "enterUsername": "ป้อนชื่อผู้ใช้", + "enterPassword": "ป้อนรหัสผ่าน", + "userCreatedSuccessfully": "ผู้ใช้ {{username}} สร้างสำเร็จแล้ว", + "failedToCreateUser": "ไม่สามารถสร้างผู้ใช้ได้", + "manageUser": "จัดการผู้ใช้", + "manageUserDescription": "จัดการการตั้งค่าผู้ใช้ บทบาท และสิทธิ์การเข้าถึง", + "authType": "ประเภทการตรวจสอบสิทธิ์", + "adminStatus": "สถานะผู้ดูแลระบบ", + "userId": "รหัสผู้ใช้", + "regularUser": "ผู้ใช้ทั่วไป", + "adminPrivileges": "สิทธิ์ของผู้ดูแลระบบ", + "administratorRole": "บทบาทผู้ดูแลระบบ", + "administratorRoleDescription": "ให้สิทธิ์การเข้าถึงระบบและการจัดการอย่างเต็มรูปแบบ", + "passwordManagement": "การจัดการรหัสผ่าน", + "passwordResetWarning": "การรีเซ็ตรหัสผ่านของผู้ใช้จะลบข้อมูลทั้งหมดของผู้ใช้ (โฮสต์ SSH ข้อมูลประจำตัว การตั้งค่า) การกระทำนี้ไม่สามารถย้อนกลับได้", + "resetUserPassword": "รีเซ็ตรหัสผ่านผู้ใช้", + "resettingPassword": "กำลังรีเซ็ต...", + "passwordResetInitiated": "เริ่มการรีเซ็ต mật khẩu สำหรับ {{username}}ส่งรหัสรีเซ็ตแล้ว", + "failedToResetPassword": "ไม่สามารถเริ่มการรีเซ็ตรหัสผ่านได้", + "sessionManagement": "การจัดการเซสชัน", + "revokeAllSessions": "ยกเลิกเซสชันทั้งหมด", + "revokeAllSessionsDescription": "บังคับออกจากระบบจากทุกอุปกรณ์และทุกเซสชัน", + "revoking": "เพิกถอน...", + "revoke": "เพิกถอนทั้งหมด", + "dangerZone": "เขตอันตราย", + "deleteUserTitle": "ลบบัญชีผู้ใช้", + "deleteUserWarning": "ลบบัญชีผู้ใช้และข้อมูลที่เกี่ยวข้องทั้งหมดอย่างถาวร การดำเนินการนี้ไม่สามารถย้อนกลับได้", + "deleting": "กำลังลบ...", + "cannotDeleteSelf": "คุณไม่สามารถลบบัญชีของคุณเองได้", + "cannotRemoveLastAdmin": "ไม่สามารถลบผู้ดูแลระบบคนสุดท้ายได้", + "cannotRemoveOwnAdmin": "คุณไม่สามารถลบสิทธิ์ผู้ดูแลระบบของคุณเองได้", + "cannotModifyOwnAdminStatus": "คุณไม่สามารถแก้ไขสถานะผู้ดูแลระบบของคุณเองได้", + "dualAuth": "การตรวจสอบสิทธิ์แบบคู่", + "externalOIDC": "ภายนอก (OIDC)", + "localPassword": "รหัสผ่านภายในเครื่อง", + "confirmRevokeOwnSessions": "คุณแน่ใจหรือไม่ว่าต้องการยกเลิกเซสชันทั้งหมดของคุณเอง? คุณจะถูกออกจากระบบ", + "linkOIDCWarningTitle": "คำเตือน: ข้อมูลผู้ใช้ OIDC จะถูกลบ", + "linkOIDCActionDeleteUser": "ลบบัญชีผู้ใช้ OIDC และข้อมูลทั้งหมดของผู้ใช้รายนั้น", + "linkOIDCActionAddCapability": "เพิ่มความสามารถในการเข้าสู่ระบบ OIDC ให้กับบัญชีรหัสผ่านเป้าหมาย", + "linkOIDCActionDualAuth": "อนุญาตให้บัญชีที่ใช้รหัสผ่านเข้าสู่ระบบได้ทั้งด้วยรหัสผ่านและ OIDC", + "linkTargetUsernameLabel": "รหัสผ่านเป้าหมาย บัญชี ชื่อผู้ใช้", + "linkTargetUsernamePlaceholder": "ป้อนชื่อผู้ใช้หรือรหัสผ่านของบัญชี", + "linkAccountsButton": "เชื่อมโยงบัญชี", + "linkingAccounts": "กำลังเชื่อมโยง...", + "accountsLinkedSuccessfully": "ผู้ใช้ OIDC {{oidcUsername}} ได้ถูกเชื่อมโยงกับ {{targetUsername}}แล้ว", + "failedToLinkAccounts": "ไม่สามารถเชื่อมโยงบัญชีได้", + "linkTargetUsernameRequired": "จำเป็นต้องระบุชื่อผู้ใช้เป้าหมาย", + "unlinkOIDCTitle": "ยกเลิกการเชื่อมโยงการตรวจสอบสิทธิ์ OIDC", + "unlinkOIDCDescription": "ลบการตรวจสอบสิทธิ์ OIDC ออกจาก {{username}}หรือไม่? หลังจากนี้ผู้ใช้จะสามารถเข้าสู่ระบบได้เฉพาะด้วยชื่อผู้ใช้/รหัสผ่านเท่านั้น", + "unlinkOIDCSuccess": "OIDC ถูกตัดการเชื่อมต่อจาก {{username}}", + "failedToUnlinkOIDC": "ไม่สามารถยกเลิกการเชื่อมโยง OIDC ได้", + "databaseSecurity": "ความปลอดภัยของฐานข้อมูล", + "encryptionStatus": "สถานะการเข้ารหัส", + "encryptionEnabled": "เปิดใช้งานการเข้ารหัส", + "enabled": "เปิดใช้งาน", + "disabled": "พิการ", + "keyId": "รหัสคีย์", + "created": "สร้าง", + "migrationStatus": "สถานะการย้ายถิ่นฐาน", + "migrationCompleted": "การย้ายข้อมูลเสร็จสมบูรณ์", + "migrationRequired": "จำเป็นต้องมีการย้ายข้อมูล", + "deviceProtectedMasterKey": "กุญแจหลักที่ปกป้องสิ่งแวดล้อม", + "legacyKeyStorage": "การจัดเก็บคีย์แบบดั้งเดิม", + "masterKeyEncryptedWithDeviceFingerprint": "คีย์หลักถูกเข้ารหัสด้วยลายนิ้วมือของสภาพแวดล้อม (การป้องกัน KEK เปิดใช้งานอยู่)", + "keyNotProtectedByDeviceBinding": "คีย์ไม่ได้รับการปกป้องด้วยการผูกสภาพแวดล้อม (แนะนำให้อัปเกรด)", + "valid": "ถูกต้อง", + "initializeDatabaseEncryption": "เริ่มต้นการเข้ารหัสฐานข้อมูล", + "enableAes256EncryptionWithDeviceBinding": "เปิดใช้งานการเข้ารหัส AES-256 พร้อมการป้องกันด้วยมาสเตอร์คีย์ที่ผูกกับสภาพแวดล้อม ซึ่งจะสร้างความปลอดภัยระดับองค์กรสำหรับคีย์ SSH รหัสผ่าน และโทเค็นการตรวจสอบสิทธิ์", + "featuresEnabled": "คุณสมบัติที่เปิดใช้งาน:", + "aes256GcmAuthenticatedEncryption": "การเข้ารหัสแบบตรวจสอบความถูกต้อง AES-256-GCM", + "deviceFingerprintMasterKeyProtection": "ระบบป้องกันด้วยลายนิ้วมือ (KEK)", + "pbkdf2KeyDerivation": "การสร้างคีย์ PBKDF2 ด้วยการวนซ้ำ 100,000 ครั้ง", + "automaticKeyManagement": "การจัดการและการหมุนเวียนคีย์อัตโนมัติ", + "initializing": "กำลังเริ่มต้น...", + "initializeEnterpriseEncryption": "เริ่มต้นการเข้ารหัสระดับองค์กร", + "migrateExistingData": "ย้ายข้อมูลที่มีอยู่แล้ว", + "encryptExistingUnprotectedData": "เข้ารหัสข้อมูลที่ไม่มีการป้องกันในฐานข้อมูลของคุณ กระบวนการนี้ปลอดภัยและสร้างข้อมูลสำรองอัตโนมัติ", + "testMigrationDryRun": "ตรวจสอบความเข้ากันได้ของการเข้ารหัส", + "migrating": "กำลังย้าย...", + "migrateData": "ย้ายข้อมูล", + "securityInformation": "ข้อมูลความปลอดภัย", + "sshPrivateKeysEncryptedWithAes256": "คีย์ส่วนตัวและรหัสผ่าน SSH ถูกเข้ารหัสด้วย AES-256-GCM", + "userAuthTokensProtected": "โทเค็นการตรวจสอบสิทธิ์ผู้ใช้และรหัสลับ 2FA ได้รับการปกป้อง", + "masterKeysProtectedByDeviceFingerprint": "กุญแจเข้ารหัสหลักได้รับการปกป้องด้วยลายนิ้วมือของอุปกรณ์ (KEK)", + "keysBoundToServerInstance": "คีย์ต่างๆ จะผูกอยู่กับสภาพแวดล้อมของเซิร์ฟเวอร์ปัจจุบัน (สามารถโยกย้ายได้ผ่านตัวแปรสภาพแวดล้อม)", + "pbkdf2HkdfKeyDerivation": "การสร้างคีย์ PBKDF2 + HKDF ด้วยการวนซ้ำ 100,000 ครั้ง", + "backwardCompatibleMigration": "ข้อมูลทั้งหมดจะยังคงใช้งานร่วมกับเวอร์ชันก่อนหน้าได้ในระหว่างการย้ายระบบ", + "enterpriseGradeSecurityActive": "ระบบรักษาความปลอดภัยระดับองค์กร (Enterprise-Grade Security Active)", + "masterKeysProtectedByDeviceBinding": "คีย์เข้ารหัสหลักของคุณได้รับการปกป้องด้วยการระบุตัวตนตามสภาพแวดล้อม วิธีนี้ใช้ชื่อโฮสต์ของเซิร์ฟเวอร์ เส้นทาง และข้อมูลสภาพแวดล้อมอื่นๆ เพื่อสร้างคีย์ป้องกัน ในการย้ายเซิร์ฟเวอร์ ให้ตั้งค่าตัวแปรสภาพแวดล้อม DB_ENCRYPTION_KEY บนเซิร์ฟเวอร์ใหม่", + "important": "สำคัญ", + "keepEncryptionKeysSecure": "รักษาความปลอดภัยของข้อมูล: สำรองข้อมูลไฟล์ฐานข้อมูลและการกำหนดค่าเซิร์ฟเวอร์เป็นประจำ ในการย้ายไปยังเซิร์ฟเวอร์ใหม่ ให้ตั้งค่าตัวแปรสภาพแวดล้อม DB_ENCRYPTION_KEY ในสภาพแวดล้อมใหม่ หรือคงชื่อโฮสต์และโครงสร้างไดเร็กทอรีไว้เหมือนเดิม", + "loadingEncryptionStatus": "กำลังโหลดสถานะการเข้ารหัส...", + "testMigrationDescription": "ตรวจสอบให้แน่ใจว่าสามารถย้ายข้อมูลที่มีอยู่ไปยังรูปแบบเข้ารหัสได้อย่างปลอดภัยโดยไม่ต้องแก้ไขข้อมูลใดๆ", + "serverMigrationGuide": "คู่มือการย้ายเซิร์ฟเวอร์", + "migrationInstructions": "ในการย้ายข้อมูลที่เข้ารหัสไปยังเซิร์ฟเวอร์ใหม่: 1) สำรองไฟล์ฐานข้อมูล 2) ตั้งค่าตัวแปรสภาพแวดล้อม DB_ENCRYPTION_KEY=\"your-key\" บนเซิร์ฟเวอร์ใหม่ 3) กู้คืนไฟล์ฐานข้อมูล", + "environmentProtection": "การปกป้องสิ่งแวดล้อม", + "environmentProtectionDesc": "ปกป้องคีย์การเข้ารหัสโดยอิงจากข้อมูลสภาพแวดล้อมของเซิร์ฟเวอร์ (ชื่อโฮสต์ เส้นทาง ฯลฯ) และสามารถโยกย้ายได้ผ่านตัวแปรสภาพแวดล้อม", + "verificationCompleted": "การตรวจสอบความเข้ากันได้เสร็จสมบูรณ์แล้ว - ไม่มีการเปลี่ยนแปลงข้อมูล", + "verificationInProgress": "การตรวจสอบเสร็จสมบูรณ์", + "dataMigrationCompleted": "การย้ายข้อมูลเสร็จสมบูรณ์เรียบร้อยแล้ว!", + "verificationFailed": "การตรวจสอบความเข้ากันได้ล้มเหลว", + "migrationFailed": "การย้ายข้อมูลล้มเหลว", + "runningVerification": "กำลังตรวจสอบความเข้ากันได้...", + "startingMigration": "เริ่มการย้ายข้อมูล...", + "hardwareFingerprintSecurity": "ระบบรักษาความปลอดภัยด้วยลายนิ้วมือแบบฮาร์ดแวร์", + "hardwareBoundEncryption": "การเข้ารหัสที่ผูกกับฮาร์ดแวร์ทำงานอยู่", + "masterKeysNowProtectedByHardwareFingerprint": "ปัจจุบันคีย์หลักได้รับการปกป้องด้วยการตรวจสอบลายนิ้วมือของฮาร์ดแวร์จริง แทนที่จะใช้ตัวแปรสภาพแวดล้อม", + "cpuSerialNumberDetection": "การตรวจจับหมายเลขซีเรียลของ CPU", + "motherboardUuidIdentification": "การระบุ UUID ของเมนบอร์ด", + "diskSerialNumberVerification": "การตรวจสอบหมายเลขซีเรียลของดิสก์", + "biosSerialNumberCheck": "ตรวจสอบหมายเลขซีเรียล BIOS", + "stableMacAddressFiltering": "การกรองที่อยู่ MAC ที่เสถียร", + "databaseFileEncryption": "การเข้ารหัสไฟล์ฐานข้อมูล", + "dualLayerProtection": "การป้องกันสองชั้นแบบแอคทีฟ", + "bothFieldAndFileEncryptionActive": "ขณะนี้มีการเปิดใช้งานการเข้ารหัสทั้งระดับฟิลด์และระดับไฟล์เพื่อความปลอดภัยสูงสุด", + "fieldLevelAes256Encryption": "การเข้ารหัส AES-256 ระดับฟิลด์สำหรับข้อมูลที่ละเอียดอ่อน", + "fileLevelDatabaseEncryption": "การเข้ารหัสฐานข้อมูลระดับไฟล์ด้วยการผูกฮาร์ดแวร์", + "hardwareBoundFileKeys": "คีย์เข้ารหัสไฟล์ที่ผูกกับฮาร์ดแวร์", + "automaticEncryptedBackups": "การสร้างสำเนาสำรองที่เข้ารหัสโดยอัตโนมัติ", + "createEncryptedBackup": "สร้างการสำรองข้อมูลที่เข้ารหัส", + "creatingBackup": "กำลังสร้างไฟล์สำรองข้อมูล...", + "backupCreated": "สร้างไฟล์สำรองข้อมูลแล้ว", + "encryptedBackupCreatedSuccessfully": "สร้างไฟล์สำรองข้อมูลที่เข้ารหัสสำเร็จแล้ว", + "backupCreationFailed": "การสร้างสำเนาสำรองล้มเหลว", + "databaseMigration": "การย้ายฐานข้อมูล", + "exportForMigration": "ส่งออกเพื่อการย้ายข้อมูล", + "exportDatabaseForHardwareMigration": "ส่งออกฐานข้อมูลเป็นไฟล์ SQLite ที่ถอดรหัสข้อมูลแล้ว เพื่อใช้ในการย้ายข้อมูลไปยังฮาร์ดแวร์ใหม่", + "exportDatabase": "ส่งออกฐานข้อมูล SQLite", + "exporting": "กำลังส่งออก...", + "exportCreated": "สร้างการส่งออก SQLite แล้ว", + "exportContainsDecryptedData": "การส่งออกข้อมูลไปยัง SQLite มีข้อมูลที่ถอดรหัสแล้ว โปรดเก็บรักษาให้ปลอดภัย!", + "databaseExportedSuccessfully": "การส่งออกฐานข้อมูล SQLite สำเร็จแล้ว", + "databaseExportFailed": "การส่งออกฐานข้อมูล SQLite ล้มเหลว", + "importFromMigration": "นำเข้าจากการย้ายข้อมูล", + "importDatabaseFromAnotherSystem": "นำเข้าฐานข้อมูล SQLite จากระบบหรือฮาร์ดแวร์อื่น", + "importDatabase": "นำเข้าฐานข้อมูล SQLite", + "importing": "กำลังนำเข้า...", + "selectedFile": "ไฟล์ SQLite ที่เลือก", + "importWillReplaceExistingData": "การนำเข้าข้อมูลไปยัง SQLite จะแทนที่ข้อมูลที่มีอยู่เดิม แนะนำให้สำรองข้อมูลก่อน!", + "pleaseSelectImportFile": "โปรดเลือกไฟล์นำเข้า SQLite", + "databaseImportedSuccessfully": "นำเข้าฐานข้อมูล SQLite สำเร็จแล้ว", + "databaseImportFailed": "การนำเข้าฐานข้อมูล SQLite ล้มเหลว", + "manageEncryptionAndBackups": "จัดการคีย์การเข้ารหัส ความปลอดภัยของฐานข้อมูล และการดำเนินการสำรองข้อมูล", + "activeSecurityFeatures": "มาตรการรักษาความปลอดภัยและการป้องกันที่ใช้งานอยู่ในปัจจุบัน", + "deviceBindingTechnology": "เทคโนโลยีการป้องกันกุญแจแบบฮาร์ดแวร์ขั้นสูง", + "backupAndRecovery": "ตัวเลือกการสร้างสำรองข้อมูลที่ปลอดภัยและการกู้คืนฐานข้อมูล", + "crossSystemDataTransfer": "การส่งออกและนำเข้าฐานข้อมูลระหว่างระบบต่างๆ", + "noMigrationNeeded": "ไม่จำเป็นต้องย้ายข้อมูล", + "encryptionKey": "กุญแจเข้ารหัส", + "keyProtection": "การป้องกันกุญแจ", + "active": "คล่องแคล่ว", + "legacy": "มรดก", + "dataStatus": "สถานะข้อมูล", + "encrypted": "เข้ารหัส", + "needsMigration": "ความต้องการการย้ายถิ่นฐาน", + "ready": "พร้อม", + "initializeEncryption": "เริ่มต้นการเข้ารหัส", + "initialize": "เริ่มต้น", + "test": "ทดสอบ", + "migrate": "โยกย้าย", + "backup": "สำรองข้อมูล", + "createBackup": "สร้างข้อมูลสำรอง", + "exportImport": "ส่งออก/นำเข้า", + "export": "ส่งออก", + "import": "นำเข้า", + "passwordRequired": "ต้องใส่รหัสผ่าน", + "confirmExport": "ยืนยันการส่งออก", + "exportDescription": "ส่งออกข้อมูลโฮสต์และข้อมูลรับรอง SSH ไปยังไฟล์ SQLite", + "importDescription": "นำเข้าไฟล์ SQLite ด้วยการผสานแบบเพิ่มทีละส่วน (ข้ามข้อมูลที่ซ้ำกัน)", + "criticalWarning": "คำเตือนที่สำคัญ", + "cannotDisablePasswordLoginWithoutOIDC": "ไม่สามารถปิดใช้งานการเข้าสู่ระบบด้วยรหัสผ่านได้หากไม่ได้กำหนดค่า OIDC! คุณต้องกำหนดค่าการตรวจสอบสิทธิ์ OIDC ก่อนจึงจะปิดใช้งานการเข้าสู่ระบบด้วยรหัสผ่านได้ มิเช่นนั้นคุณจะไม่สามารถเข้าถึง Termix ได้", + "confirmDisablePasswordLogin": "คุณแน่ใจหรือไม่ว่าต้องการปิดใช้งานการเข้าสู่ระบบด้วยรหัสผ่าน? โปรดตรวจสอบให้แน่ใจว่า OIDC ได้รับการกำหนดค่าอย่างถูกต้องและทำงานได้อย่างถูกต้องก่อนดำเนินการต่อ มิเช่นนั้นคุณจะไม่สามารถเข้าถึงอินสแตนซ์ Termix ของคุณได้", + "passwordLoginDisabled": "การเข้าสู่ระบบด้วยรหัสผ่านถูกปิดใช้งานสำเร็จแล้ว", + "passwordLoginAndRegistrationDisabled": "การเข้าสู่ระบบด้วยรหัสผ่านและการลงทะเบียนบัญชีใหม่ถูกปิดใช้งานเรียบร้อยแล้ว", + "requiresPasswordLogin": "ต้องเปิดใช้งานการเข้าสู่ระบบด้วยรหัสผ่าน", + "passwordLoginDisabledWarning": "การเข้าสู่ระบบด้วยรหัสผ่านถูกปิดใช้งาน โปรดตรวจสอบให้แน่ใจว่าได้กำหนดค่า OIDC อย่างถูกต้อง มิเช่นนั้นคุณจะไม่สามารถเข้าสู่ระบบ Termix ได้", + "oidcRequiredWarning": "คำเตือนสำคัญ: การเข้าสู่ระบบด้วยรหัสผ่านถูกปิดใช้งาน หากคุณรีเซ็ตหรือกำหนดค่า OIDC ผิดพลาด คุณจะสูญเสียการเข้าถึง Termix ทั้งหมดและทำให้ระบบของคุณใช้งานไม่ได้ โปรดดำเนินการต่อเมื่อคุณแน่ใจอย่างยิ่งเท่านั้น", + "confirmDisableOIDCWarning": "คำเตือน: คุณกำลังจะปิดใช้งาน OIDC ในขณะที่การเข้าสู่ระบบด้วยรหัสผ่านก็ถูกปิดใช้งานอยู่เช่นกัน การกระทำนี้จะทำให้ระบบ Termix ของคุณใช้งานไม่ได้ และคุณจะสูญเสียการเข้าถึงทั้งหมด คุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ?", + "failedToUpdatePasswordLoginStatus": "ไม่สามารถอัปเดตสถานะการเข้าสู่ระบบด้วยรหัสผ่านได้", + "loadingSessions": "กำลังโหลดเซสชัน...", + "noActiveSessions": "ไม่พบเซสชันที่ใช้งานอยู่", + "device": "อุปกรณ์", + "user": "ผู้ใช้", + "lastActive": "ใช้งานล่าสุด", + "expires": "หมดอายุ", + "revoked": "เพิกถอน", + "revokeAllUserSessionsTitle": "ยกเลิกเซสชันทั้งหมดสำหรับผู้ใช้รายนี้", + "revokeAll": "เพิกถอนทั้งหมด", + "linkOidcToPasswordAccount": "เชื่อมโยงบัญชี OIDC กับบัญชีรหัสผ่าน", + "linkOidcToPasswordAccountDescription": "เชื่อมโยง {{username}} (ผู้ใช้ OIDC) กับบัญชีรหัสผ่านที่มีอยู่แล้ว การทำเช่นนี้จะเปิดใช้งานการตรวจสอบสิทธิ์แบบสองขั้นตอนสำหรับบัญชีรหัสผ่าน", + "linkOidcWarningTitle": "คำเตือน: ข้อมูลผู้ใช้ OIDC จะถูกลบ", + "linkOidcWarningDescription": "การกระทำนี้จะส่งผลให้:", + "linkOidcActionDeleteUser": "ลบบัญชีผู้ใช้ OIDC และข้อมูลทั้งหมดของผู้ใช้รายนั้น", + "linkOidcActionAddCapability": "เพิ่มความสามารถในการเข้าสู่ระบบ OIDC ให้กับบัญชีรหัสผ่านเป้าหมาย", + "linkOidcActionDualAuth": "อนุญาตให้บัญชีที่ใช้รหัสผ่านเข้าสู่ระบบได้ทั้งด้วยรหัสผ่านและ OIDC", + "passwordMinLength": "รหัสผ่านต้องมีความยาวอย่างน้อย 6 ตัวอักษร", + "currentRoles": "ตำแหน่งงานปัจจุบัน", + "noRolesAssigned": "ไม่มีการกำหนดบทบาทใดๆ", + "assignNewRole": "มอบหมายบทบาทใหม่" + }, + "hosts": { + "title": "ผู้จัดการโฮสต์", + "sshHosts": "โฮสต์ SSH", + "noHosts": "ไม่มีโฮสต์ SSH", + "noHostsMessage": "คุณยังไม่ได้เพิ่มโฮสต์ SSH ใดๆ คลิก \"เพิ่มโฮสต์\" เพื่อเริ่มต้น", + "loadingHosts": "กำลังโหลดโฮสต์...", + "failedToLoadHosts": "ไม่สามารถโหลดโฮสต์ได้", + "retry": "ลองใหม่อีกครั้ง", + "refresh": "รีเฟรช", + "optional": "ไม่จำเป็น", + "hostsCount": "{{count}} โฮสต์", + "importJson": "นำเข้า JSON", + "importing": "กำลังนำเข้า...", + "importJsonTitle": "นำเข้าโฮสต์ SSH จากไฟล์ JSON", + "importJsonDesc": "อัปโหลดไฟล์ JSON เพื่อนำเข้าโฮสต์ SSH หลายรายการพร้อมกัน (สูงสุด 100 รายการ)", + "downloadSample": "ดาวน์โหลดตัวอย่าง", + "formatGuide": "คู่มือรูปแบบ", + "exportCredentialWarning": "คำเตือน: โฮสต์ \"{{name}}\" ใช้การตรวจสอบสิทธิ์ด้วยข้อมูลประจำตัว ไฟล์ที่ส่งออกจะไม่รวมข้อมูลประจำตัว และจะต้องกำหนดค่าใหม่ด้วยตนเองหลังจากนำเข้า คุณต้องการดำเนินการต่อหรือไม่", + "exportSensitiveDataWarning": "คำเตือน: โฮสต์ \"{{name}}\" มีข้อมูลการตรวจสอบสิทธิ์ที่ละเอียดอ่อน (รหัสผ่าน/คีย์ SSH) ไฟล์ที่ส่งออกจะรวมข้อมูลนี้ในรูปแบบข้อความธรรมดา โปรดเก็บไฟล์ให้ปลอดภัยและลบหลังจากใช้งาน คุณต้องการดำเนินการต่อหรือไม่", + "uncategorized": "ไม่มีหมวดหมู่", + "confirmDelete": "คุณแน่ใจหรือไม่ว่าต้องการลบ \"{{name}}\" ?", + "failedToDeleteHost": "ไม่สามารถลบโฮสต์ได้", + "failedToExportHost": "ไม่สามารถส่งออกข้อมูลโฮสต์ได้ โปรดตรวจสอบให้แน่ใจว่าคุณได้เข้าสู่ระบบและมีสิทธิ์เข้าถึงข้อมูลโฮสต์แล้ว", + "jsonMustContainHosts": "ไฟล์ JSON ต้องมีอาร์เรย์ \"hosts\" หรือเป็นอาร์เรย์ของ hosts", + "noHostsInJson": "ไม่พบโฮสต์ในไฟล์ JSON", + "maxHostsAllowed": "อนุญาตให้นำเข้าโฮสต์ได้สูงสุด 100 รายการต่อครั้ง", + "importCompleted": "การนำเข้าเสร็จสมบูรณ์: {{success}} สำเร็จ, {{failed}} ล้มเหลว", + "importFailed": "การนำเข้าล้มเหลว", + "importError": "ข้อผิดพลาดในการนำเข้า", + "failedToImportJson": "ไม่สามารถนำเข้าไฟล์ JSON ได้", + "connectionDetails": "รายละเอียดการเชื่อมต่อ", + "organization": "องค์กร", + "ipAddress": "ที่อยู่ IP", + "port": "ท่าเรือ", + "name": "ชื่อ", + "username": "ชื่อผู้ใช้", + "folder": "โฟลเดอร์", + "tags": "แท็ก", + "pin": "เข็มหมุด", + "notes": "หมายเหตุ", + "expirationDate": "วันหมดอายุ", + "passwordRequired": "จำเป็นต้องใส่รหัสผ่านเมื่อใช้การตรวจสอบสิทธิ์ด้วยรหัสผ่าน", + "sshKeyRequired": "จำเป็นต้องใช้คีย์ส่วนตัว SSH เมื่อใช้การตรวจสอบสิทธิ์ด้วยคีย์", + "keyTypeRequired": "ต้องระบุประเภทคีย์เมื่อใช้การตรวจสอบสิทธิ์ด้วยคีย์", + "mustSelectValidSshConfig": "ต้องเลือกการกำหนดค่า SSH ที่ถูกต้องจากรายการ", + "addHost": "เพิ่มโฮสต์", + "editHost": "แก้ไขโฮสต์", + "cloneHost": "โคลนโฮสต์", + "updateHost": "อัปเดตโฮสต์", + "hostUpdatedSuccessfully": "โฮสต์ \"{{name}}\" อัปเดตสำเร็จแล้ว!", + "hostAddedSuccessfully": "เพิ่มโฮสต์ \"{{name}}\" สำเร็จแล้ว!", + "hostDeletedSuccessfully": "โฮสต์ \"{{name}}\" ถูกลบสำเร็จแล้ว!", + "failedToSaveHost": "ไม่สามารถบันทึกโฮสต์ได้ โปรดลองอีกครั้ง", + "savingHost": "กำลังบันทึกโฮสต์...", + "updatingHost": "กำลังอัปเดตโฮสต์...", + "cloningHost": "กำลังโคลนโฮสต์...", + "enableTerminal": "เปิดใช้งานเทอร์มินัล", + "enableTerminalDesc": "เปิด/ปิดการมองเห็นโฮสต์ในแท็บเทอร์มินัล", + "enableTunnel": "เปิดใช้งานอุโมงค์", + "enableTunnelDesc": "เปิด/ปิดการมองเห็นโฮสต์ในแท็บอุโมงค์", + "enableFileManager": "เปิดใช้งานตัวจัดการไฟล์", + "enableFileManagerDesc": "เปิด/ปิดการมองเห็นโฮสต์ในแท็บตัวจัดการไฟล์", + "enableDockerDesc": "เปิด/ปิดการมองเห็นโฮสต์ในแท็บ Docker", + "enableDocker": "เปิดใช้งาน Docker", + "defaultPath": "เส้นทางเริ่มต้น", + "defaultPathDesc": "ไดเร็กทอรีเริ่มต้นเมื่อเปิดตัวจัดการไฟล์สำหรับโฮสต์นี้", + "tunnelConnections": "การเชื่อมต่ออุโมงค์", + "connection": "การเชื่อมต่อ", + "remove": "ลบ", + "sourcePort": "พอร์ตต้นทาง", + "sourcePortDesc": " (แหล่งที่มาหมายถึงรายละเอียดการเชื่อมต่อปัจจุบันในแท็บทั่วไป)", + "endpointPort": "พอร์ตปลายทาง", + "endpointSshConfig": "การกำหนดค่า SSH ปลายทาง", + "tunnelForwardDescription": "อุโมงค์นี้จะส่งต่อทราฟฟิกจากพอร์ต {{sourcePort}} บนเครื่องต้นทาง (รายละเอียดการเชื่อมต่อปัจจุบันในแท็บทั่วไป) ไปยังพอร์ต {{endpointPort}} บนเครื่องปลายทาง", + "maxRetries": "จำนวนครั้งการลองใหม่สูงสุด", + "maxRetriesDescription": "จำนวนครั้งสูงสุดในการลองเชื่อมต่ออุโมงค์อีกครั้ง", + "retryInterval": "ช่วงเวลาการลองใหม่ (วินาที)", + "retryIntervalDescription": "ต้องรอเวลาระหว่างการลองใหม่แต่ละครั้ง", + "autoStartContainer": "เริ่มการทำงานอัตโนมัติเมื่อคอนเทนเนอร์เริ่มทำงาน", + "autoStartDesc": "เริ่มอุโมงค์นี้โดยอัตโนมัติเมื่อคอนเทนเนอร์เริ่มทำงาน", + "addConnection": "เพิ่มการเชื่อมต่ออุโมงค์", + "sshpassRequired": "ต้องใช้ SSHPass เพื่อยืนยันรหัสผ่าน", + "sshpassRequiredDesc": "สำหรับการตรวจสอบสิทธิ์ด้วยรหัสผ่านในอุโมงค์เชื่อมต่อ ต้องติดตั้ง sshpass ไว้ในระบบ", + "otherInstallMethods": "วิธีการติดตั้งอื่นๆ:", + "debianUbuntuEquivalent": "(Debian/Ubuntu) หรือเวอร์ชันที่เทียบเท่าสำหรับระบบปฏิบัติการของคุณ", + "or": "หรือ", + "centosRhelFedora": "CentOS/RHEL/Fedora", + "macos": "ระบบปฏิบัติการ macOS", + "windows": "วินโดวส์", + "sshServerConfigRequired": "ต้องกำหนดค่าเซิร์ฟเวอร์ SSH", + "sshServerConfigDesc": "สำหรับการเชื่อมต่อผ่านอุโมงค์ เซิร์ฟเวอร์ SSH ต้องได้รับการกำหนดค่าให้สามารถส่งต่อพอร์ตได้:", + "gatewayPortsYes": "เพื่อเชื่อมโยงพอร์ตระยะไกลเข้ากับอินเทอร์เฟซทั้งหมด", + "allowTcpForwardingYes": "เพื่อเปิดใช้งานการส่งต่อพอร์ต", + "permitRootLoginYes": "หากใช้ผู้ใช้ root สำหรับการสร้างอุโมงค์", + "editSshConfig": "แก้ไขไฟล์ /etc/ssh/sshd_config แล้วรีสตาร์ท SSH: sudo systemctl restart sshd", + "upload": "อัปโหลด", + "authentication": "การตรวจสอบสิทธิ์", + "password": "รหัสผ่าน", + "key": "สำคัญ", + "credential": "ใบรับรอง", + "none": "ไม่มี", + "selectCredential": "เลือกข้อมูลประจำตัว", + "selectCredentialPlaceholder": "เลือกข้อมูลประจำตัว...", + "credentialRequired": "จำเป็นต้องระบุข้อมูลประจำตัวเมื่อใช้การตรวจสอบสิทธิ์ด้วยข้อมูลประจำตัว", + "credentialDescription": "การเลือกข้อมูลประจำตัวจะแทนที่ชื่อผู้ใช้ปัจจุบันและใช้รายละเอียดการตรวจสอบสิทธิ์ของข้อมูลประจำตัวนั้น", + "cannotChangeAuthAsSharedUser": "ไม่สามารถเปลี่ยนการยืนยันตัวตนในฐานะผู้ใช้ร่วมได้", + "sshPrivateKey": "คีย์ส่วนตัว SSH", + "keyPassword": "รหัสผ่าน", + "keyType": "ประเภทกุญแจ", + "autoDetect": "ตรวจจับอัตโนมัติ", + "rsa": "อาร์เอสเอ", + "ed25519": "ED25519", + "ecdsaNistP256": "อีซีดีเอสเอ เอ็นไอเอสที พี-256", + "ecdsaNistP384": "อีซีดีเอสเอ เอ็นไอเอสที พี-384", + "ecdsaNistP521": "อีซีดีเอสเอ เอ็นไอเอสที พี-521", + "dsa": "ดีเอสเอ", + "rsaSha2256": "อาร์เอสเอ เอสเอชเอ2-256", + "rsaSha2512": "อาร์เอสเอ เอสเอชเอ2-512", + "uploadFile": "อัปโหลดไฟล์", + "pasteKey": "วางคีย์", + "updateKey": "อัปเดตคีย์", + "existingKey": "รหัสเดิม (คลิกเพื่อเปลี่ยน)", + "existingCredential": "ข้อมูลประจำตัวที่มีอยู่ (คลิกเพื่อเปลี่ยน)", + "addTagsSpaceToAdd": "เพิ่มแท็ก (เว้นช่องว่างสำหรับเพิ่ม)", + "terminalBadge": "เทอร์มินัล", + "tunnelBadge": "อุโมงค์", + "fileManagerBadge": "ตัวจัดการไฟล์", + "general": "ทั่วไป", + "terminal": "เทอร์มินัล", + "tunnel": "อุโมงค์", + "fileManager": "ตัวจัดการไฟล์", + "serverStats": "สถิติเซิร์ฟเวอร์", + "hostViewer": "โฮสต์ผู้ชม", + "enableServerStats": "เปิดใช้งานสถิติเซิร์ฟเวอร์", + "enableServerStatsDesc": "เปิด/ปิดการเก็บรวบรวมสถิติเซิร์ฟเวอร์สำหรับโฮสต์นี้", + "displayItems": "แสดงรายการสินค้า", + "displayItemsDesc": "เลือกตัวชี้วัดที่จะแสดงบนหน้าสถิติเซิร์ฟเวอร์", + "enableCpu": "การใช้งาน CPU", + "enableMemory": "การใช้งานหน่วยความจำ", + "enableDisk": "การใช้งานดิสก์", + "enableNetwork": "สถิติเครือข่าย (เร็วๆ นี้)", + "enableProcesses": "จำนวนกระบวนการ (เร็วๆ นี้)", + "enableUptime": "เวลาใช้งาน (เร็วๆ นี้)", + "enableHostname": "ชื่อโฮสต์ (เร็วๆ นี้)", + "enableOs": "ระบบปฏิบัติการ (เร็วๆ นี้)", + "customCommands": "คำสั่งแบบกำหนดเอง (เร็วๆ นี้)", + "customCommandsDesc": "กำหนดคำสั่งปิดเครื่องและรีบูตแบบกำหนดเองสำหรับเซิร์ฟเวอร์นี้", + "shutdownCommand": "คำสั่งปิดระบบ", + "rebootCommand": "คำสั่งรีบูต", + "confirmRemoveFromFolder": "คุณแน่ใจหรือไม่ว่าต้องการลบ \"{{name}}\" ออกจากโฟลเดอร์ \"{{folder}}\"? โฮสต์จะถูกย้ายไปยัง \"ไม่มีโฟลเดอร์\"", + "removedFromFolder": "โฮสต์ \"{{name}}\" ถูกลบออกจากโฟลเดอร์สำเร็จแล้ว", + "failedToRemoveFromFolder": "ไม่สามารถลบโฮสต์ออกจากโฟลเดอร์ได้", + "folderRenamed": "เปลี่ยนชื่อโฟลเดอร์ \"{{oldName}}\" เป็น \"{{newName}}\" สำเร็จแล้ว", + "failedToRenameFolder": "ไม่สามารถเปลี่ยนชื่อโฟลเดอร์ได้", + "editFolderAppearance": "แก้ไขลักษณะการแสดงผลของโฟลเดอร์", + "editFolderAppearanceDesc": "ปรับแต่งสีและไอคอนสำหรับโฟลเดอร์", + "folderColor": "สีของโฟลเดอร์", + "folderIcon": "ไอคอนโฟลเดอร์", + "preview": "ตัวอย่าง", + "folderAppearanceUpdated": "การแสดงผลโฟลเดอร์ได้รับการอัปเดตเรียบร้อยแล้ว", + "failedToUpdateFolderAppearance": "ไม่สามารถอัปเดตลักษณะการแสดงผลของโฟลเดอร์ได้", + "deleteAllHostsInFolder": "ลบโฮสต์ทั้งหมดในโฟลเดอร์", + "confirmDeleteAllHostsInFolder": "คุณแน่ใจหรือไม่ว่าต้องการลบโฮสต์ {{count}} ทั้งหมดในโฟลเดอร์ \"{{folder}}\"? การกระทำนี้ไม่สามารถย้อนกลับได้", + "allHostsInFolderDeleted": "ลบโฮสต์ {{count}} จากโฟลเดอร์ \"{{folder}}\" สำเร็จแล้ว", + "failedToDeleteHostsInFolder": "ไม่สามารถลบโฮสต์ในโฟลเดอร์ได้", + "movedToFolder": "โฮสต์ \"{{name}}\" ย้ายไปยัง \"{{folder}}\" สำเร็จแล้ว", + "failedToMoveToFolder": "ไม่สามารถย้ายโฮสต์ไปยังโฟลเดอร์ได้", + "clickToRenameFolder": "คลิกเพื่อเปลี่ยนชื่อโฟลเดอร์", + "renameFolder": "เปลี่ยนชื่อโฟลเดอร์", + "removeFromFolder": "ลบออกจากโฟลเดอร์ \"{{folder}}\"", + "editHostTooltip": "แก้ไขโฮสต์", + "deleteHostTooltip": "ลบโฮสต์", + "exportHostTooltip": "ส่งออกโฮสต์", + "cloneHostTooltip": "โคลนโฮสต์", + "clickToEditHost": "คลิกเพื่อแก้ไขข้อมูลโฮสต์", + "dragToMoveBetweenFolders": "ลากเพื่อย้ายระหว่างโฟลเดอร์", + "exportedHostConfig": "ส่งออกการกำหนดค่าโฮสต์สำหรับ {{name}}", + "openTerminal": "เปิดเทอร์มินัล", + "openFileManager": "เปิดตัวจัดการไฟล์", + "openTunnels": "อุโมงค์เปิด", + "openServerDetails": "ดูรายละเอียดเซิร์ฟเวอร์", + "statistics": "สถิติ", + "enabledWidgets": "วิดเจ็ตที่เปิดใช้งาน", + "openServerStats": "เปิดสถิติเซิร์ฟเวอร์", + "enabledWidgetsDesc": "เลือกวิดเจ็ตแสดงสถิติที่จะแสดงสำหรับโฮสต์นี้", + "monitoringConfiguration": "การกำหนดค่าการตรวจสอบ", + "monitoringConfigurationDesc": "ตั้งค่าความถี่ในการตรวจสอบสถิติและสถานะของเซิร์ฟเวอร์", + "statusCheckEnabled": "เปิดใช้งานการตรวจสอบสถานะ", + "statusCheckEnabledDesc": "ตรวจสอบว่าเซิร์ฟเวอร์ออนไลน์หรือออฟไลน์อยู่", + "statusCheckInterval": "ช่วงเวลาตรวจสอบสถานะ", + "statusCheckIntervalDesc": "ควรตรวจสอบสถานะออนไลน์ของโฮสต์บ่อยแค่ไหน (5 วินาที - 1 ชั่วโมง)", + "metricsEnabled": "เปิดใช้งานการตรวจสอบเมตริก", + "metricsEnabledDesc": "รวบรวมสถิติ CPU, RAM, ดิสก์ และข้อมูลระบบอื่นๆ", + "metricsInterval": "ช่วงเวลาการเก็บรวบรวมเมตริก", + "metricsIntervalDesc": "ควรเก็บรวบรวมสถิติเซิร์ฟเวอร์บ่อยแค่ไหน (5 วินาที - 1 ชั่วโมง)", + "intervalSeconds": "วินาที", + "intervalMinutes": "นาที", + "intervalValidation": "ช่วงเวลาการตรวจสอบต้องอยู่ระหว่าง 5 วินาทีถึง 1 ชั่วโมง (3600 วินาที)", + "monitoringDisabled": "การตรวจสอบเซิร์ฟเวอร์ถูกปิดใช้งานสำหรับโฮสต์นี้", + "enableMonitoring": "เปิดใช้งานการตรวจสอบใน Host Manager → แท็บสถิติ", + "monitoringDisabledBadge": "ปิดการตรวจสอบ", + "statusMonitoring": "สถานะ", + "metricsMonitoring": "ตัวชี้วัด", + "terminalCustomization": "การปรับแต่งเทอร์มินัล", + "appearance": "รูปร่าง", + "behavior": "พฤติกรรม", + "advanced": "ขั้นสูง", + "themePreview": "ตัวอย่างธีม", + "theme": "ธีม", + "selectTheme": "เลือกธีม", + "chooseColorTheme": "เลือกธีมสีสำหรับเทอร์มินัล", + "fontFamily": "ตระกูลฟอนต์", + "selectFont": "เลือกแบบอักษร", + "selectFontDesc": "เลือกแบบอักษรที่จะใช้ในเทอร์มินัล", + "fontSize": "ขนาดตัวอักษร", + "fontSizeValue": "ขนาดตัวอักษร: {{value}}พิกเซล", + "adjustFontSize": "ปรับขนาดตัวอักษรของเทอร์มินัล", + "letterSpacing": "ระยะห่างระหว่างตัวอักษร", + "letterSpacingValue": "ระยะห่างระหว่างตัวอักษร: {{value}}px", + "adjustLetterSpacing": "ปรับระยะห่างระหว่างตัวอักษร", + "lineHeight": "ความสูงของเส้น", + "lineHeightValue": "ความสูงของเส้น: {{value}}", + "adjustLineHeight": "ปรับระยะห่างระหว่างบรรทัด", + "cursorStyle": "รูปแบบเคอร์เซอร์", + "selectCursorStyle": "เลือกรูปแบบเคอร์เซอร์", + "cursorStyleBlock": "ปิดกั้น", + "cursorStyleUnderline": "ขีดเส้นใต้", + "cursorStyleBar": "บาร์", + "chooseCursorAppearance": "เลือกรูปแบบการแสดงผลเคอร์เซอร์", + "cursorBlink": "เคอร์เซอร์กระพริบ", + "enableCursorBlink": "เปิดใช้งานแอนิเมชั่นการกระพริบของเคอร์เซอร์", + "scrollbackBuffer": "บัฟเฟอร์การเลื่อนกลับ", + "scrollbackBufferValue": "บัฟเฟอร์การเลื่อนกลับ: {{value}} บรรทัด", + "scrollbackBufferDesc": "จำนวนบรรทัดที่จะเก็บไว้ในประวัติการเลื่อนดู", + "bellStyle": "สไตล์เบลล์", + "selectBellStyle": "เลือกรูปแบบระฆัง", + "bellStyleNone": "ไม่มี", + "bellStyleSound": "เสียง", + "bellStyleVisual": "ภาพ", + "bellStyleBoth": "ทั้งคู่", + "bellStyleDesc": "วิธีจัดการกับเสียงเตือนเมื่อโปรแกรมทำงานเสร็จสิ้น (อักขระ BEL, \\x07) โปรแกรมจะเรียกใช้เสียงเตือนนี้เมื่อทำงานเสร็จสิ้น พบข้อผิดพลาด หรือเพื่อแจ้งเตือน \"เสียง\" จะเล่นเสียงบี๊บ \"ภาพ\" จะแสดงภาพบนหน้าจอชั่วครู่ \"ทั้งสองอย่าง\" จะแสดงทั้งเสียงและภาพ และ \"ไม่มี\" จะปิดการแจ้งเตือนด้วยเสียงเตือน", + "rightClickSelectsWord": "คลิกขวาแล้วเลือก Word", + "rightClickSelectsWordDesc": "การคลิกขวาจะเลือกคำที่อยู่ใต้เคอร์เซอร์", + "fastScrollModifier": "ตัวแก้ไขการเลื่อนเร็ว", + "selectModifier": "เลือกตัวแก้ไข", + "modifierAlt": "อัลท์", + "modifierCtrl": "Ctrl", + "modifierShift": "กะ", + "fastScrollModifierDesc": "ปุ่มตัวดัดแปลงสำหรับการเลื่อนอย่างรวดเร็ว", + "fastScrollSensitivity": "ความไวในการเลื่อนเร็ว", + "fastScrollSensitivityValue": "ความไวในการเลื่อนเร็ว: {{value}}", + "fastScrollSensitivityDesc": "ตัวคูณความเร็วในการเลื่อนเมื่อกดปุ่มตัวดัดแปลงค้างไว้", + "minimumContrastRatio": "อัตราส่วนความคมชัดต่ำสุด", + "minimumContrastRatioValue": "อัตราคอนทราสต์ขั้นต่ำ: {{value}}", + "minimumContrastRatioDesc": "ปรับสีโดยอัตโนมัติเพื่อให้อ่านง่ายขึ้น", + "sshAgentForwarding": "การส่งต่อเอเจนต์ SSH", + "sshAgentForwardingDesc": "ส่งต่อเอเจนต์การตรวจสอบสิทธิ์ SSH ไปยังโฮสต์ระยะไกล", + "backspaceMode": "โหมดลบ", + "selectBackspaceMode": "เลือกโหมดลบ", + "backspaceModeNormal": "ปกติ (DEL)", + "backspaceModeControlH": "คอนโทรล-เอช (^เอช)", + "backspaceModeDesc": "พฤติกรรมของปุ่ม Backspace เพื่อความเข้ากันได้", + "startupSnippet": "ตัวอย่างโค้ดสำหรับเริ่มต้น", + "selectSnippet": "เลือกส่วนย่อย", + "searchSnippets": "ตัวอย่างการค้นหา...", + "snippetNone": "ไม่มี", + "noneAuthTitle": "การตรวจสอบสิทธิ์แบบโต้ตอบด้วยแป้นพิมพ์", + "noneAuthDescription": "วิธีการยืนยันตัวตนนี้จะใช้การยืนยันตัวตนผ่านแป้นพิมพ์เมื่อเชื่อมต่อกับเซิร์ฟเวอร์ SSH", + "noneAuthDetails": "การตรวจสอบสิทธิ์แบบโต้ตอบด้วยแป้นพิมพ์ช่วยให้เซิร์ฟเวอร์แจ้งให้คุณป้อนข้อมูลประจำตัวระหว่างการเชื่อมต่อ ซึ่งมีประโยชน์สำหรับเซิร์ฟเวอร์ที่ต้องการการตรวจสอบสิทธิ์แบบหลายปัจจัย หรือหากคุณไม่ต้องการบันทึกข้อมูลประจำตัวไว้ในเครื่อง", + "forceKeyboardInteractive": "แป้นพิมพ์แบบอินเทอร์แอคทีฟของ Force", + "forceKeyboardInteractiveDesc": "บังคับให้ใช้การตรวจสอบสิทธิ์แบบโต้ตอบผ่านแป้นพิมพ์ ซึ่งบางครั้งจำเป็นสำหรับเซิร์ฟเวอร์ที่ใช้การตรวจสอบสิทธิ์แบบสองปัจจัย (TOTP/2FA)", + "overrideCredentialUsername": "แทนที่ชื่อผู้ใช้ข้อมูลประจำตัว", + "overrideCredentialUsernameDesc": "ใช้ชื่อผู้ใช้ที่แตกต่างจากชื่อผู้ใช้ที่บันทึกไว้ในข้อมูลประจำตัว วิธีนี้จะช่วยให้คุณสามารถใช้ข้อมูลประจำตัวเดียวกันกับชื่อผู้ใช้ที่แตกต่างกันได้", + "jumpHosts": "จั๊มพ์โฮสต์", + "jumpHostsDescription": "จัมพ์โฮสต์ (หรือที่เรียกว่า บาสเตียนโฮสต์) ช่วยให้คุณเชื่อมต่อกับเซิร์ฟเวอร์เป้าหมายผ่านเซิร์ฟเวอร์ตัวกลางหนึ่งตัวหรือมากกว่านั้น ซึ่งมีประโยชน์สำหรับการเข้าถึงเซิร์ฟเวอร์ที่อยู่หลังไฟร์วอลล์หรือในเครือข่ายส่วนตัว", + "jumpHostChain": "ห่วงโซ่ Jump Host", + "addJumpHost": "เพิ่ม Jump Host", + "selectServer": "เลือกเซิร์ฟเวอร์", + "searchServers": "เซิร์ฟเวอร์ค้นหา...", + "noServerFound": "ไม่พบเซิร์ฟเวอร์", + "jumpHostsOrder": "การเชื่อมต่อจะเกิดขึ้นตามลำดับ: โฮสต์กระโดด 1 → โฮสต์กระโดด 2 → ... → เซิร์ฟเวอร์เป้าหมาย", + "socks5Proxy": "พร็อกซี SOCKS5", + "socks5Description": "ตั้งค่าพร็อกซี SOCKS5 สำหรับการเชื่อมต่อ SSH การรับส่งข้อมูลทั้งหมดจะถูกส่งผ่านเซิร์ฟเวอร์พร็อกซีที่ระบุไว้", + "enableSocks5": "เปิดใช้งานพร็อกซี SOCKS5", + "enableSocks5Description": "ใช้พร็อกซี SOCKS5 สำหรับการเชื่อมต่อ SSH นี้", + "socks5Host": "พร็อกซีโฮสต์", + "socks5Port": "พอร์ตพร็อกซี", + "socks5Username": "ชื่อผู้ใช้พร็อกซี", + "socks5Password": "รหัสผ่านพร็อกซี", + "socks5UsernameOptional": "ตัวเลือกเสริม: เว้นว่างไว้หากพร็อกซีไม่ต้องการการตรวจสอบสิทธิ์", + "socks5PasswordOptional": "ตัวเลือกเสริม: เว้นว่างไว้หากพร็อกซีไม่ต้องการการตรวจสอบสิทธิ์", + "socks5ProxyChain": "พร็อกซีเชน", + "socks5ProxyChainDescription": "ตั้งค่าเครือข่ายพร็อกซี SOCKS โดยแต่ละพร็อกซีในเครือข่ายจะเชื่อมต่อผ่านพร็อกซีตัวก่อนหน้า", + "socks5ProxyMode": "โหมดพร็อกซี", + "socks5UseSingleProxy": "ใช้พร็อกซีตัวเดียว", + "socks5UseProxyChain": "ใช้ Proxy Chain", + "socks5UsePreset": "ใช้ค่าที่ตั้งไว้ล่วงหน้าที่บันทึกไว้", + "socks5SelectPreset": "เลือกค่าที่ตั้งไว้ล่วงหน้า", + "socks5ManagePresets": "จัดการค่าที่ตั้งไว้ล่วงหน้า", + "socks5ProxyNode": "พร็อกซี {{number}}", + "socks5AddProxy": "เพิ่มพร็อกซีลงในเชน", + "socks5RemoveProxy": "ลบพร็อกซี", + "socks5ProxyType": "ประเภทพร็อกซี", + "socks5SaveAsPreset": "บันทึกเป็นค่าที่ตั้งไว้ล่วงหน้า", + "socks5SavePresetTitle": "บันทึก Proxy Chain เป็นค่าที่ตั้งไว้ล่วงหน้า", + "socks5SavePresetDescription": "บันทึกการกำหนดค่าพร็อกซีเชนปัจจุบันเป็นค่าที่ตั้งไว้ล่วงหน้าที่สามารถนำกลับมาใช้ใหม่ได้", + "socks5PresetName": "ชื่อพรีเซ็ต", + "socks5PresetDescription": "คำอธิบาย (ไม่บังคับ)", + "socks5PresetCreated": "สร้างค่าที่ตั้งไว้ล่วงหน้าของห่วงโซ่พร็อกซีแล้ว", + "socks5PresetUpdated": "อัปเดตค่าที่ตั้งไว้ล่วงหน้าของห่วงโซ่พร็อกซีแล้ว", + "socks5PresetDeleted": "ลบการตั้งค่าล่วงหน้าของห่วงโซ่พร็อกซีแล้ว", + "socks5PresetSaved": "บันทึกค่าที่ตั้งไว้ล่วงหน้า \"{{name}}\" สำเร็จแล้ว", + "socks5PresetSaveError": "ไม่สามารถบันทึกค่าที่ตั้งไว้ล่วงหน้าได้", + "socks5PresetNameRequired": "ต้องระบุชื่อที่กำหนดไว้ล่วงหน้า", + "socks5EmptyChainError": "ไม่สามารถบันทึกเชนพร็อกซีที่ว่างเปล่าได้", + "socks5ProxyChainEmpty": "เพิ่มพร็อกซีอย่างน้อยหนึ่งตัวลงในเครือข่าย", + "socks5HostDescription": "ชื่อโฮสต์หรือที่อยู่ IP ของเซิร์ฟเวอร์พร็อกซี SOCKS", + "socks5PortDescription": "หมายเลขพอร์ตของเซิร์ฟเวอร์พร็อกซี SOCKS (ค่าเริ่มต้น: 1080)", + "addProxyNode": "เพิ่มโหนดพร็อกซี", + "noProxyNodes": "ไม่ได้กำหนดค่าโหนดพร็อกซี คลิก 'เพิ่มโหนดพร็อกซี' เพื่อเพิ่มโหนดพร็อกซี", + "proxyNode": "โหนดพร็อกซี", + "proxyType": "ประเภทพร็อกซี", + "quickActions": "การดำเนินการด่วน", + "quickActionsDescription": "การดำเนินการด่วนช่วยให้คุณสร้างปุ่มที่กำหนดเองเพื่อเรียกใช้โค้ด SSH บนเซิร์ฟเวอร์นี้ได้ ปุ่มเหล่านี้จะปรากฏที่ด้านบนของหน้าสถิติเซิร์ฟเวอร์เพื่อให้เข้าถึงได้ง่าย", + "quickActionsList": "รายการการดำเนินการด่วน", + "addQuickAction": "เพิ่มการดำเนินการด่วน", + "quickActionName": "ชื่อการกระทำ", + "noSnippetFound": "ไม่พบตัวอย่างโค้ด", + "quickActionsOrder": "ปุ่มดำเนินการด่วนจะปรากฏตามลำดับที่ระบุไว้ข้างต้นในหน้าสถิติเซิร์ฟเวอร์", + "advancedAuthSettings": "การตั้งค่าการตรวจสอบสิทธิ์ขั้นสูง", + "sudoPasswordAutoFill": "การกรอกรหัสผ่านอัตโนมัติของ Sudo", + "sudoPasswordAutoFillDesc": "เสนอให้ใส่รหัสผ่าน SSH โดยอัตโนมัติเมื่อคำสั่ง sudo แจ้งให้ป้อนรหัสผ่าน", + "sudoPassword": "รหัสผ่าน Sudo", + "sudoPasswordDesc": "รหัสผ่านเสริมสำหรับคำสั่ง sudo (มีประโยชน์เมื่อใช้ร่วมกับการตรวจสอบสิทธิ์ด้วยคีย์)", + "socks4": "ถุงเท้า4", + "socks5": "ถุงเท้า5", + "executeSnippetOnConnect": "เรียกใช้โค้ดส่วนหนึ่งเมื่อเทอร์มินัลเชื่อมต่อ", + "autoMosh": "ออโต้-โมช", + "autoMoshDesc": "เรียกใช้คำสั่ง MOSH โดยอัตโนมัติเมื่อเชื่อมต่อ", + "moshCommand": "กองบัญชาการ MOSH", + "moshCommandDesc": "คำสั่ง MOSH ที่จะดำเนินการ", + "environmentVariables": "ตัวแปรสภาพแวดล้อม", + "environmentVariablesDesc": "ตั้งค่าตัวแปรสภาพแวดล้อมแบบกำหนดเองสำหรับเซสชันเทอร์มินัล", + "variableName": "ชื่อตัวแปร", + "variableValue": "ค่า", + "addVariable": "เพิ่มตัวแปร", + "docker": "ด็อกเกอร์", + "openDocker": "เปิด Docker", + "notEnabled": "Docker ยังไม่ได้เปิดใช้งานสำหรับโฮสต์นี้ โปรดเปิดใช้งานใน การตั้งค่าโฮสต์ เพื่อใช้งานคุณสมบัติของ Docker", + "validating": "กำลังตรวจสอบความถูกต้องของ Docker...", + "error": "ข้อผิดพลาด", + "errorCode": "รหัสข้อผิดพลาด: {{code}}", + "version": "Docker v{{version}}", + "current": "ปัจจุบัน", + "used_limit": "ใช้งานแล้ว / ขีดจำกัด", + "percentage": "เปอร์เซ็นต์", + "input": "ป้อนข้อมูล", + "output": "เอาต์พุต", + "read": "อ่าน", + "write": "เขียน", + "pids": "PIDs", + "id": "รหัสประจำตัว", + "state": "สถานะ", + "console": "คอนโซล", + "containerMustBeRunning": "ต้องเปิดใช้งานคอนเทนเนอร์ก่อนจึงจะสามารถเชื่อมต่อกับคอนโซลได้", + "authenticationRequired": "จำเป็นต้องยืนยันตัวตน", + "connectedTo": "เชื่อมต่อกับ {{containerName}}", + "disconnected": "ตัดการเชื่อมต่อ", + "consoleError": "ข้อผิดพลาดของคอนโซล", + "errorMessage": "ข้อผิดพลาด: {{message}}", + "failedToConnect": "ไม่สามารถเชื่อมต่อกับคอนโซลได้", + "disconnectedFromContainer": "ตัดการเชื่อมต่อจากคอนโซลคอนเทนเนอร์แล้ว", + "containerNotRunning": "คอนเทนเนอร์ไม่ได้ทำงานอยู่", + "startContainerToAccess": "เริ่มคอนเทนเนอร์เพื่อเข้าถึงคอนโซล", + "selectShell": "เลือกเปลือกหอย", + "bash": "ทุบตี", + "sh": "ช", + "ash": "เถ้า", + "connecting": "กำลังเชื่อมต่อ...", + "connect": "เชื่อมต่อ", + "disconnect": "ตัดการเชื่อมต่อ", + "notConnected": "ไม่ได้เชื่อมต่อ", + "clickToConnect": "คลิก เชื่อมต่อ เพื่อเริ่มใช้งานเชลล์แบบโต้ตอบ", + "connectingTo": "กำลังเชื่อมต่อกับ {{containerName}}...", + "containerMustBeRunningToViewStats": "ต้องเปิดใช้งานคอนเทนเนอร์เพื่อดูสถิติ", + "failedToFetchStats": "ไม่สามารถดึงข้อมูลสถิติได้", + "noContainersFound": "ไม่พบภาชนะบรรจุใดๆ", + "noContainersFoundHint": "เริ่มต้นด้วยการสร้างคอนเทนเนอร์บนเซิร์ฟเวอร์ของคุณ", + "searchPlaceholder": "ค้นหาตามชื่อ รูปภาพ หรือรหัสประจำตัว...", + "filterByStatusPlaceholder": "กรองตามสถานะ", + "allContainersCount": "ทั้งหมด ({{count}})", + "statusCount": "{{status}} ({{count}})", + "noContainersMatchFilters": "ไม่มีภาชนะใดตรงกับตัวกรองของคุณ", + "noContainersMatchFiltersHint": "ลองปรับการค้นหาหรือตัวกรองของคุณดู", + "containerStarted": "คอนเทนเนอร์ {{name}} เริ่มทำงานแล้ว", + "failedToStartContainer": "ไม่สามารถเริ่มต้นคอนเทนเนอร์ได้: {{error}}", + "containerStopped": "คอนเทนเนอร์ {{name}} หยุดทำงานแล้ว", + "failedToStopContainer": "ไม่สามารถหยุดคอนเทนเนอร์ได้: {{error}}", + "containerRestarted": "คอนเทนเนอร์ {{name}} รีสตาร์ทแล้ว", + "failedToRestartContainer": "ไม่สามารถรีสตาร์ทคอนเทนเนอร์ได้: {{error}}", + "containerUnpaused": "คอนเทนเนอร์ {{name}} ยกเลิกการหยุดชั่วคราว", + "containerPaused": "คอนเทนเนอร์ {{name}} หยุดชั่วคราว", + "failedToTogglePauseContainer": "ไม่สามารถ {{action}} คอนเทนเนอร์ได้: {{error}}", + "containerRemoved": "คอนเทนเนอร์ {{name}} ถูกลบออกแล้ว", + "failedToRemoveContainer": "ไม่สามารถลบคอนเทนเนอร์ได้: {{error}}", + "image": "ภาพ:", + "idLabel": "รหัสประจำตัว:", + "ports": "ท่าเรือ:", + "noPorts": "ไม่มี", + "created": "สร้าง:", + "start": "เริ่ม", + "stop": "หยุด", + "unpause": "ยกเลิกการหยุดชั่วคราว", + "pause": "หยุดชั่วคราว", + "restart": "เริ่มใหม่", + "removeContainer": "นำภาชนะออก", + "confirmRemoveContainer": "คุณแน่ใจหรือไม่ว่าต้องการลบคอนเทนเนอร์ \"{{name}}\"?", + "runningContainerWarning": "คำเตือน: คอนเทนเนอร์นี้กำลังทำงานอยู่และจะถูกลบออกโดยอัตโนมัติ", + "removing": "กำลังลบ:", + "containerNotFound": "ไม่พบคอนเทนเนอร์", + "backToList": "กลับสู่รายการ", + "logs": "บันทึก", + "stats": "สถิติ", + "consoleTab": "คอนโซล", + "failedToFetchLogs": "ไม่สามารถดึงข้อมูลบันทึกได้: {{error}}", + "failedToDownloadLogs": "ไม่สามารถดาวน์โหลดบันทึกได้: {{error}}", + "linesToShow": "เส้นเพื่อแสดง", + "last50Lines": "50 บรรทัดสุดท้าย", + "last100Lines": "100 บรรทัดสุดท้าย", + "last500Lines": "500 บรรทัดสุดท้าย", + "last1000Lines": "1000 บรรทัดสุดท้าย", + "allLogs": "บันทึกทั้งหมด", + "showTimestamps": "แสดงช่วงเวลา", + "autoRefresh": "รีเฟรชอัตโนมัติ", + "filterLogsPlaceholder": "กรองบันทึก...", + "noLogsAvailable": "ไม่มีบันทึกข้อมูล" + }, + "terminal": { + "title": "เทอร์มินัล", + "connect": "เชื่อมต่อกับโฮสต์", + "disconnect": "ตัดการเชื่อมต่อ", + "clear": "ชัดเจน", + "copy": "สำเนา", + "paste": "แปะ", + "find": "หา", + "fullscreen": "เต็มหน้าจอ", + "splitHorizontal": "แยกแนวนอน", + "splitVertical": "แยกแนวตั้ง", + "closePanel": "ปิดแผงควบคุม", + "reconnect": "เชื่อมต่อใหม่", + "sessionEnded": "สิ้นสุดการประชุม", + "connectionLost": "การเชื่อมต่อขาดหาย", + "error": "ข้อผิดพลาด: {{message}}", + "disconnected": "ตัดการเชื่อมต่อ", + "connectionClosed": "การเชื่อมต่อถูกปิด", + "connectionError": "ข้อผิดพลาดในการเชื่อมต่อ: {{message}}", + "connected": "เชื่อมต่อแล้ว", + "sshConnected": "การเชื่อมต่อ SSH สำเร็จแล้ว", + "authError": "การตรวจสอบสิทธิ์ล้มเหลว: {{message}}", + "unknownError": "เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ", + "messageParseError": "ไม่สามารถแยกวิเคราะห์ข้อความจากเซิร์ฟเวอร์ได้", + "websocketError": "ข้อผิดพลาดในการเชื่อมต่อ WebSocket", + "connecting": "กำลังเชื่อมต่อ...", + "reconnecting": "กำลังเชื่อมต่อใหม่... ({{attempt}}/{{max}})", + "reconnected": "เชื่อมต่อสำเร็จแล้ว", + "maxReconnectAttemptsReached": "จำนวนครั้งการเชื่อมต่อใหม่สูงสุดครบแล้ว", + "connectionTimeout": "หมดเวลาการเชื่อมต่อ", + "terminalTitle": "เทอร์มินัล - {{host}}", + "terminalWithPath": "เทอร์มินัล - {{host}}:{{path}}", + "runTitle": "กำลังวิ่ง {{command}} - {{host}}", + "totpRequired": "ต้องใช้การยืนยันตัวตนสองขั้นตอน", + "totpCodeLabel": "รหัสยืนยัน", + "totpPlaceholder": "000000", + "totpVerify": "ตรวจสอบ", + "sudoPasswordPopupTitle": "ใส่รหัสผ่าน?", + "sudoPasswordPopupHint": "กด Enter เพื่อแทรก กด Esc เพื่อปิด", + "sudoPasswordPopupConfirm": "แทรก", + "sudoPasswordPopupDismiss": "อนุญาตให้ออกไป" + }, + "fileManager": { + "title": "ตัวจัดการไฟล์", + "file": "ไฟล์", + "folder": "โฟลเดอร์", + "connectToSsh": "เชื่อมต่อผ่าน SSH เพื่อใช้งานการจัดการไฟล์", + "uploadFile": "อัปโหลดไฟล์", + "downloadFile": "ดาวน์โหลด", + "extractArchive": "แตกไฟล์เก็บถาวร", + "extractingArchive": "กำลังดึงข้อมูล {{name}}...", + "archiveExtractedSuccessfully": "{{name}} ดึงข้อมูลสำเร็จแล้ว", + "extractFailed": "การดึงข้อมูลล้มเหลว", + "compressFile": "บีบอัดไฟล์", + "compressFiles": "บีบอัดไฟล์", + "compressFilesDesc": "บีบอัดรายการ {{count}} รายการลงในไฟล์เก็บถาวร", + "archiveName": "ชื่อไฟล์เก็บถาวร", + "enterArchiveName": "ป้อนชื่อไฟล์เก็บถาวร...", + "compressionFormat": "รูปแบบการบีบอัด", + "selectedFiles": "ไฟล์ที่เลือก", + "andMoreFiles": "และ {{count}} เพิ่มเติม...", + "compress": "บีบอัด", + "compressingFiles": "บีบอัดรายการ {{count}} รายการเป็น {{name}}รายการ ...", + "filesCompressedSuccessfully": "{{name}} สร้างสำเร็จแล้ว", + "compressFailed": "การบีบอัดล้มเหลว", + "edit": "แก้ไข", + "preview": "ตัวอย่าง", + "previous": "ก่อนหน้า", + "next": "ต่อไป", + "pageXOfY": "หน้า {{current}} จาก {{total}}", + "zoomOut": "ซูมออก", + "zoomIn": "ซูมเข้า", + "newFile": "ไฟล์ใหม่", + "newFolder": "โฟลเดอร์ใหม่", + "rename": "เปลี่ยนชื่อ", + "renameItem": "เปลี่ยนชื่อรายการ", + "deleteItem": "ลบรายการ", + "currentPath": "เส้นทางปัจจุบัน", + "uploadFileTitle": "อัปโหลดไฟล์", + "maxFileSize": "ขนาดสูงสุด: 1GB (JSON) / 5GB (ไบนารี) - รองรับไฟล์ขนาดใหญ่", + "removeFile": "ลบไฟล์", + "clickToSelectFile": "คลิกเพื่อเลือกไฟล์", + "chooseFile": "เลือกไฟล์", + "uploading": "กำลังอัปโหลด...", + "downloading": "กำลังดาวน์โหลด...", + "uploadingFile": "กำลังอัปโหลด {{name}}...", + "uploadingLargeFile": "กำลังอัปโหลดไฟล์ขนาดใหญ่ {{name}} ({{size}})...", + "downloadingFile": "กำลังดาวน์โหลด {{name}}...", + "creatingFile": "กำลังสร้าง {{name}}...", + "creatingFolder": "กำลังสร้าง {{name}}...", + "deletingItem": "กำลังลบ {{type}} {{name}}...", + "renamingItem": "เปลี่ยนชื่อ {{type}} {{oldName}} เป็น {{newName}}...", + "createNewFile": "สร้างไฟล์ใหม่", + "fileName": "ชื่อไฟล์", + "creating": "กำลังสร้าง...", + "createFile": "สร้างไฟล์", + "createNewFolder": "สร้างโฟลเดอร์ใหม่", + "folderName": "ชื่อโฟลเดอร์", + "createFolder": "สร้างโฟลเดอร์", + "warningCannotUndo": "คำเตือน: การกระทำนี้ไม่สามารถย้อนกลับได้", + "itemPath": "เส้นทางรายการ", + "thisIsDirectory": "นี่คือโฟลเดอร์ (ระบบจะลบโฟลเดอร์นี้โดยอัตโนมัติ)", + "deleting": "กำลังลบ...", + "currentPathLabel": "เส้นทางปัจจุบัน", + "newName": "ชื่อใหม่", + "thisIsDirectoryRename": "นี่คือสารบบ", + "renaming": "กำลังเปลี่ยนชื่อ...", + "fileUploadedSuccessfully": "ไฟล์ \"{{name}}\" อัปโหลดสำเร็จแล้ว", + "failedToUploadFile": "ไม่สามารถอัปโหลดไฟล์ได้", + "fileDownloadedSuccessfully": "ดาวน์โหลดไฟล์ \"{{name}}\" สำเร็จแล้ว", + "failedToDownloadFile": "ไม่สามารถดาวน์โหลดไฟล์ได้", + "noFileContent": "ไม่ได้รับเนื้อหาไฟล์", + "filePath": "เส้นทางไฟล์", + "fileCreatedSuccessfully": "สร้างไฟล์ \"{{name}}\" สำเร็จแล้ว", + "failedToCreateFile": "ไม่สามารถสร้างไฟล์ได้", + "folderCreatedSuccessfully": "สร้างโฟลเดอร์ \"{{name}}\" สำเร็จแล้ว", + "failedToCreateFolder": "ไม่สามารถสร้างโฟลเดอร์ได้", + "failedToCreateItem": "ไม่สามารถสร้างรายการได้", + "operationFailed": "การดำเนินการ {{operation}} ล้มเหลวสำหรับ {{name}}: {{error}}", + "failedToResolveSymlink": "ไม่สามารถแก้ไขลิงก์สัญลักษณ์ได้", + "itemDeletedSuccessfully": "{{type}} ลบสำเร็จแล้ว", + "itemsDeletedSuccessfully": "รายการ {{count}} ถูกลบสำเร็จแล้ว", + "failedToDeleteItems": "ไม่สามารถลบรายการได้", + "dragFilesToUpload": "ลากไฟล์มาวางที่นี่เพื่ออัปโหลด", + "emptyFolder": "โฟลเดอร์นี้ว่างเปล่า", + "itemCount": "{{count}} รายการ", + "selectedCount": "{{count}} เลือกแล้ว", + "searchFiles": "ค้นหาไฟล์...", + "upload": "อัปโหลด", + "selectHostToStart": "เลือกโฮสต์เพื่อเริ่มการจัดการไฟล์", + "failedToConnect": "ไม่สามารถเชื่อมต่อ SSH ได้", + "failedToLoadDirectory": "ไม่สามารถโหลดไดเร็กทอรีได้", + "noSSHConnection": "ไม่มีการเชื่อมต่อ SSH ให้ใช้งาน", + "enterFolderName": "ป้อนชื่อโฟลเดอร์:", + "enterFileName": "ป้อนชื่อไฟล์:", + "copy": "สำเนา", + "cut": "ตัด", + "paste": "แปะ", + "copyPath": "คัดลอกเส้นทาง", + "copyPaths": "คัดลอกเส้นทาง", + "delete": "ลบ", + "properties": "คุณสมบัติ", + "refresh": "รีเฟรช", + "downloadFiles": "ดาวน์โหลดไฟล์ {{count}} ไปยังเบราว์เซอร์", + "copyFiles": "คัดลอกรายการ {{count}} รายการ", + "cutFiles": "ตัดรายการ {{count}} รายการ", + "deleteFiles": "ลบรายการ {{count}} รายการ", + "filesCopiedToClipboard": "{{count}} รายการถูกคัดลอกไปยังคลิปบอร์ด", + "filesCutToClipboard": "{{count}} รายการที่ถูกตัดไปยังคลิปบอร์ด", + "pathCopiedToClipboard": "คัดลอกเส้นทางไปยังคลิปบอร์ดแล้ว", + "pathsCopiedToClipboard": "{{count}} คัดลอกเส้นทางไปยังคลิปบอร์ดแล้ว", + "failedToCopyPath": "ไม่สามารถคัดลอกเส้นทางไปยังคลิปบอร์ดได้", + "movedItems": "ย้ายรายการ {{count}} รายการ", + "failedToDeleteItem": "ไม่สามารถลบรายการได้", + "itemRenamedSuccessfully": "{{type}} เปลี่ยนชื่อสำเร็จแล้ว", + "failedToRenameItem": "ไม่สามารถเปลี่ยนชื่อรายการได้", + "download": "ดาวน์โหลด", + "permissions": "สิทธิ์การเข้าถึง", + "size": "ขนาด", + "modified": "แก้ไขแล้ว", + "path": "เส้นทาง", + "confirmDelete": "คุณแน่ใจหรือไม่ว่าต้องการลบ {{name}}?", + "uploadSuccess": "อัปโหลดไฟล์สำเร็จแล้ว", + "uploadFailed": "การอัปโหลดไฟล์ล้มเหลว", + "downloadSuccess": "ดาวน์โหลดไฟล์สำเร็จแล้ว", + "downloadFailed": "การดาวน์โหลดไฟล์ล้มเหลว", + "permissionDenied": "ไม่ได้รับอนุญาต", + "checkDockerLogs": "ตรวจสอบบันทึกของ Docker เพื่อดูข้อมูลข้อผิดพลาดโดยละเอียด", + "internalServerError": "เกิดข้อผิดพลาดภายในเซิร์ฟเวอร์", + "serverError": "ข้อผิดพลาดของเซิร์ฟเวอร์", + "error": "ข้อผิดพลาด", + "requestFailed": "การร้องขอไม่สำเร็จด้วยรหัสสถานะ", + "unknownFileError": "ไม่ทราบ", + "cannotReadFile": "ไม่สามารถอ่านไฟล์ได้", + "noSshSessionId": "ไม่มีรหัสเซสชัน SSH ให้ใช้งาน", + "noFilePath": "ไม่พบเส้นทางไฟล์", + "noCurrentHost": "ไม่มีโฮสต์ให้บริการในขณะนี้", + "fileSavedSuccessfully": "บันทึกไฟล์สำเร็จแล้ว", + "saveTimeout": "การบันทึกข้อมูลหมดเวลา อาจบันทึกไฟล์สำเร็จแล้ว แต่การดำเนินการใช้เวลานานเกินไป โปรดตรวจสอบบันทึกของ Docker เพื่อยืนยัน", + "failedToSaveFile": "ไม่สามารถบันทึกไฟล์ได้", + "deletedSuccessfully": "ลบสำเร็จแล้ว", + "connectToServer": "เชื่อมต่อกับเซิร์ฟเวอร์", + "selectServerToEdit": "เลือกเซิร์ฟเวอร์จากแถบด้านข้างเพื่อเริ่มแก้ไขไฟล์", + "fileOperations": "การดำเนินการไฟล์", + "confirmDeleteMessage": "คุณแน่ใจหรือไม่ว่าต้องการลบ {{name}}?", + "confirmDeleteSingleItem": "คุณแน่ใจหรือไม่ว่าต้องการลบ \"{{name}}\" อย่างถาวร?", + "confirmDeleteMultipleItems": "คุณแน่ใจหรือไม่ว่าต้องการลบรายการ {{count}} อย่างถาวร?", + "confirmDeleteMultipleItemsWithFolders": "คุณแน่ใจหรือไม่ว่าต้องการลบรายการ {{count}} รายการอย่างถาวร ซึ่งรวมถึงโฟลเดอร์และเนื้อหาภายในโฟลเดอร์ด้วย", + "confirmDeleteFolder": "คุณแน่ใจหรือไม่ว่าต้องการลบโฟลเดอร์ \"{{name}}\" และเนื้อหาทั้งหมดในนั้นอย่างถาวร?", + "deleteDirectoryWarning": "การดำเนินการนี้จะลบโฟลเดอร์และเนื้อหาทั้งหมดภายในโฟลเดอร์นั้น", + "actionCannotBeUndone": "การกระทำนี้ไม่สามารถย้อนกลับได้", + "permanentDeleteWarning": "การดำเนินการนี้ไม่สามารถยกเลิกได้ รายการดังกล่าวจะถูกลบออกจากเซิร์ฟเวอร์อย่างถาวร", + "recent": "ล่าสุด", + "pinned": "ปักหมุด", + "folderShortcuts": "ทางลัดโฟลเดอร์", + "noRecentFiles": "ไม่มีไฟล์ล่าสุด", + "noPinnedFiles": "ไม่มีไฟล์ที่ปักหมุดไว้", + "enterFolderPath": "ป้อนเส้นทางโฟลเดอร์", + "noShortcuts": "ไม่มีทางลัด", + "searchFilesAndFolders": "ค้นหาไฟล์และโฟลเดอร์...", + "noFilesOrFoldersFound": "ไม่พบไฟล์หรือโฟลเดอร์ใดๆ", + "failedToConnectSSH": "ไม่สามารถเชื่อมต่อ SSH ได้", + "failedToReconnectSSH": "ไม่สามารถเชื่อมต่อเซสชัน SSH ใหม่ได้", + "failedToListFiles": "ไม่สามารถแสดงรายการไฟล์ได้", + "fetchHomeDataTimeout": "การดึงข้อมูลหน้าหลักหมดเวลา", + "sshStatusCheckTimeout": "การตรวจสอบสถานะ SSH หมดเวลา", + "sshReconnectionTimeout": "การเชื่อมต่อ SSH หมดเวลา", + "saveOperationTimeout": "การบันทึกข้อมูลหมดเวลา", + "cannotSaveFile": "ไม่สามารถบันทึกไฟล์ได้", + "dragSystemFilesToUpload": "ลากไฟล์ระบบมาที่นี่เพื่ออัปโหลด", + "dragFilesToWindowToDownload": "ลากไฟล์ออกนอกหน้าต่างเพื่อดาวน์โหลด", + "openTerminalHere": "เปิดเทอร์มินัลที่นี่", + "run": "วิ่ง", + "saveToSystem": "บันทึกเป็น...", + "selectLocationToSave": "เลือกตำแหน่งที่จะบันทึก", + "openTerminalInFolder": "เปิดเทอร์มินัลในโฟลเดอร์นี้", + "openTerminalInFileLocation": "เปิดเทอร์มินัลที่ตำแหน่งไฟล์", + "terminalWithPath": "เทอร์มินัล - {{host}}:{{path}}", + "runningFile": "การวิ่ง - {{file}}", + "onlyRunExecutableFiles": "สามารถเรียกใช้งานได้เฉพาะไฟล์ปฏิบัติการเท่านั้น", + "noHostSelected": "ไม่ได้เลือกโฮสต์", + "starred": "ดาว", + "shortcuts": "ทางลัด", + "directories": "รายชื่อ", + "removedFromRecentFiles": "ลบ \"{{name}}\" ออกจากไฟล์ล่าสุดแล้ว", + "removeFailed": "ลบสิ่งที่ล้มเหลว", + "unpinnedSuccessfully": "ยกเลิกการตรึง \"{{name}}\" สำเร็จแล้ว", + "unpinFailed": "ยกเลิกการตรึงไม่สำเร็จ", + "removedShortcut": "ลบทางลัด \"{{name}}\" ออกแล้ว", + "removeShortcutFailed": "การลบทางลัดล้มเหลว", + "clearedAllRecentFiles": "ลบไฟล์ล่าสุดทั้งหมดแล้ว", + "clearFailed": "เคลียร์ล้มเหลว", + "removeFromRecentFiles": "ลบออกจากไฟล์ล่าสุด", + "clearAllRecentFiles": "ลบไฟล์ล่าสุดทั้งหมด", + "unpinFile": "ยกเลิกการตรึงไฟล์", + "removeShortcut": "ลบทางลัด", + "saveFilesToSystem": "บันทึกไฟล์ {{count}} เป็น...", + "pinFile": "ไฟล์พิน", + "addToShortcuts": "เพิ่มไปยังทางลัด", + "downloadToDefaultLocation": "ดาวน์โหลดไปยังตำแหน่งเริ่มต้น", + "pasteFailed": "การวางล้มเหลว", + "noUndoableActions": "ไม่มีการกระทำใดที่ย้อนกลับไม่ได้", + "undoCopySuccess": "ยกเลิกการคัดลอก: ลบไฟล์ที่คัดลอก {{count}} ไฟล์", + "undoCopyFailedDelete": "การยกเลิกการกระทำล้มเหลว: ไม่สามารถลบไฟล์ที่คัดลอกไว้ได้", + "undoCopyFailedNoInfo": "การยกเลิกการกระทำล้มเหลว: ไม่พบข้อมูลไฟล์ที่คัดลอกไว้", + "undoMoveSuccess": "ยกเลิกการย้าย: ย้ายไฟล์ {{count}} ไฟล์กลับไปยังตำแหน่งเดิม", + "undoMoveFailedMove": "การยกเลิกไม่สำเร็จ: ไม่สามารถย้ายไฟล์ใดๆ กลับได้", + "undoMoveFailedNoInfo": "การยกเลิกไม่สำเร็จ: ไม่พบข้อมูลไฟล์ที่ถูกย้าย", + "undoDeleteNotSupported": "ไม่สามารถยกเลิกการลบได้: ไฟล์ถูกลบออกจากเซิร์ฟเวอร์อย่างถาวรแล้ว", + "undoTypeNotSupported": "ประเภทการดำเนินการยกเลิกที่ไม่รองรับ", + "undoOperationFailed": "การยกเลิกการดำเนินการล้มเหลว", + "unknownError": "ข้อผิดพลาดที่ไม่ทราบสาเหตุ", + "enterPath": "ป้อนเส้นทาง...", + "editPath": "แก้ไขเส้นทาง", + "confirm": "ยืนยัน", + "cancel": "ยกเลิก", + "find": "หา...", + "replaceWith": "แทนที่ด้วย...", + "replace": "แทนที่", + "replaceAll": "เปลี่ยนทั้งหมด", + "downloadInstead": "ดาวน์โหลดแทน", + "keyboardShortcuts": "แป้นพิมพ์ลัด", + "searchAndReplace": "ค้นหาและแทนที่", + "editing": "การแก้ไข", + "navigation": "การนำทาง", + "code": "รหัส", + "search": "ค้นหา", + "findNext": "ค้นหาถัดไป", + "findPrevious": "ค้นหาก่อนหน้า", + "save": "บันทึก", + "selectAll": "เลือกทั้งหมด", + "undo": "เลิกทำ", + "redo": "ทำซ้ำ", + "goToLine": "ไปที่ Line", + "moveLineUp": "เคลื่อนแถว", + "moveLineDown": "เลื่อนเส้นลง", + "toggleComment": "สลับการแสดงความคิดเห็น", + "indent": "เยื้อง", + "outdent": "รอยบุ๋ม", + "autoComplete": "การเติมข้อความอัตโนมัติ", + "imageLoadError": "ไม่สามารถโหลดรูปภาพได้", + "rotate": "หมุน", + "originalSize": "ขนาดดั้งเดิม", + "startTyping": "เริ่มพิมพ์...", + "unknownSize": "ขนาดไม่ทราบแน่ชัด", + "fileIsEmpty": "ไฟล์ว่างเปล่า", + "largeFileWarning": "คำเตือนเกี่ยวกับไฟล์ขนาดใหญ่", + "largeFileWarningDesc": "ไฟล์นี้มีขนาด {{size}} ซึ่งอาจทำให้เกิดปัญหาด้านประสิทธิภาพเมื่อเปิดเป็นข้อความ", + "fileNotFoundAndRemoved": "ไม่พบไฟล์ \"{{name}}\" และไฟล์ดังกล่าวถูกลบออกจากไฟล์ล่าสุด/ไฟล์ปักหมุดแล้ว", + "failedToLoadFile": "ไม่สามารถโหลดไฟล์ได้: {{error}}", + "serverErrorOccurred": "เกิดข้อผิดพลาดของเซิร์ฟเวอร์ โปรดลองใหม่อีกครั้งในภายหลัง", + "autoSaveFailed": "การบันทึกอัตโนมัติล้มเหลว", + "fileAutoSaved": "ไฟล์ถูกบันทึกอัตโนมัติ", + "moveFileFailed": "การย้ายล้มเหลว {{name}}", + "moveOperationFailed": "การดำเนินการย้ายล้มเหลว", + "canOnlyCompareFiles": "สามารถเปรียบเทียบไฟล์ได้เพียงสองไฟล์เท่านั้น", + "comparingFiles": "เปรียบเทียบไฟล์: {{file1}} และ {{file2}}", + "dragFailed": "การดำเนินการลากล้มเหลว", + "filePinnedSuccessfully": "ไฟล์ \"{{name}}\" ถูกปักหมุดสำเร็จแล้ว", + "pinFileFailed": "ไม่สามารถตรึงไฟล์ได้", + "fileUnpinnedSuccessfully": "ไฟล์ \"{{name}}\" ถูกยกเลิกการตรึงเรียบร้อยแล้ว", + "unpinFileFailed": "ไม่สามารถยกเลิกการตรึงไฟล์ได้", + "shortcutAddedSuccessfully": "เพิ่มทางลัดโฟลเดอร์ \"{{name}}\" สำเร็จแล้ว", + "addShortcutFailed": "ไม่สามารถเพิ่มทางลัดได้", + "operationCompletedSuccessfully": "{{operation}} {{count}} รายการสำเร็จ", + "operationCompleted": "{{operation}} {{count}} รายการ", + "downloadFileSuccess": "ดาวน์โหลดไฟล์ {{name}} สำเร็จแล้ว", + "downloadFileFailed": "การดาวน์โหลดล้มเหลว", + "moveTo": "ย้ายไปที่ {{name}}", + "diffCompareWith": "เปรียบเทียบความแตกต่างกับ {{name}}", + "dragOutsideToDownload": "ลากออกนอกหน้าต่างเพื่อดาวน์โหลดไฟล์ ({{count}} ไฟล์)", + "newFolderDefault": "โฟลเดอร์ใหม่", + "newFileDefault": "ไฟล์ใหม่.txt", + "successfullyMovedItems": "ย้ายรายการ {{count}} รายการไปยัง {{target}}สำเร็จแล้ว", + "move": "เคลื่อนไหว", + "searchInFile": "ค้นหาในไฟล์ (Ctrl+F)", + "showKeyboardShortcuts": "แสดงทางลัดแป้นพิมพ์", + "startWritingMarkdown": "เริ่มเขียนเนื้อหา Markdown ของคุณได้เลย...", + "loadingFileComparison": "กำลังโหลดการเปรียบเทียบไฟล์...", + "reload": "โหลดซ้ำ", + "compare": "เปรียบเทียบ", + "sideBySide": "เคียงข้างกัน", + "inline": "อินไลน์", + "fileComparison": "การเปรียบเทียบไฟล์: {{file1}} กับ {{file2}}", + "fileTooLarge": "ไฟล์มีขนาดใหญ่เกินไป: {{error}}", + "sshConnectionFailed": "การเชื่อมต่อ SSH ล้มเหลว โปรดตรวจสอบการเชื่อมต่อของคุณกับ {{name}} ({{ip}}:{{port}})", + "loadFileFailed": "ไม่สามารถโหลดไฟล์ได้: {{error}}", + "connectedSuccessfully": "เชื่อมต่อสำเร็จแล้ว", + "totpVerificationFailed": "การตรวจสอบ TOTP ล้มเหลว", + "verificationCodePrompt": "รหัสยืนยัน:", + "changePermissions": "เปลี่ยนสิทธิ์การเข้าถึง", + "changePermissionsDesc": "แก้ไขสิทธิ์การเข้าถึงไฟล์สำหรับ", + "currentPermissions": "สิทธิ์การเข้าถึงปัจจุบัน", + "newPermissions": "สิทธิ์ใหม่", + "owner": "เจ้าของ", + "group": "กลุ่ม", + "others": "คนอื่น", + "read": "อ่าน", + "write": "เขียน", + "execute": "ดำเนินการ", + "permissionsChangedSuccessfully": "สิทธิ์การเข้าถึงเปลี่ยนแปลงสำเร็จแล้ว", + "failedToChangePermissions": "ไม่สามารถเปลี่ยนสิทธิ์ได้" + }, + "tunnel": { + "noTunnelsConfigured": "ไม่มีการกำหนดค่าอุโมงค์", + "configureTunnelsInHostSettings": "กำหนดค่าการเชื่อมต่ออุโมงค์ใน Host Manager เพื่อเริ่มต้นใช้งาน" + }, + "tunnels": { + "title": "อุโมงค์ SSH", + "noSshTunnels": "ไม่มีอุโมงค์ SSH", + "createFirstTunnelMessage": "คุณยังไม่ได้สร้างอุโมงค์ SSH ใดๆ เลย กำหนดค่าการเชื่อมต่ออุโมงค์ใน Host Manager เพื่อเริ่มต้นใช้งาน", + "connected": "เชื่อมต่อแล้ว", + "disconnected": "ตัดการเชื่อมต่อ", + "connecting": "กำลังเชื่อมต่อ...", + "disconnecting": "กำลังตัดการเชื่อมต่อ...", + "unknownTunnelStatus": "ไม่ทราบ", + "statusUnknown": "ไม่ทราบ", + "unknown": "ไม่ทราบ", + "error": "ข้อผิดพลาด", + "failed": "ล้มเหลว", + "retrying": "ลองใหม่อีกครั้ง", + "waiting": "ซึ่งรอคอย", + "waitingForRetry": "กำลังรอการลองใหม่อีกครั้ง", + "retryingConnection": "กำลังลองเชื่อมต่อใหม่", + "canceling": "ยกเลิก...", + "connect": "เชื่อมต่อ", + "disconnect": "ตัดการเชื่อมต่อ", + "cancel": "ยกเลิก", + "port": "ท่าเรือ", + "attempt": "ความพยายาม {{current}} ของ {{max}}", + "nextRetryIn": "ลองใหม่อีกครั้งใน {{seconds}} วินาที", + "checkDockerLogs": "ตรวจสอบบันทึก Docker ของคุณเพื่อดูสาเหตุของข้อผิดพลาด เข้าร่วมกลุ่มสนทนา", + "orCreate": "หรือสร้าง ", + "noTunnelConnections": "ไม่มีการกำหนดค่าการเชื่อมต่ออุโมงค์", + "tunnelConnections": "การเชื่อมต่ออุโมงค์", + "addTunnel": "เพิ่มอุโมงค์", + "editTunnel": "แก้ไขอุโมงค์", + "deleteTunnel": "ลบอุโมงค์", + "tunnelName": "ชื่ออุโมงค์", + "localPort": "ท่าเรือท้องถิ่น", + "remoteHost": "โฮสต์ระยะไกล", + "remotePort": "พอร์ตระยะไกล", + "autoStart": "เริ่มอัตโนมัติ", + "status": "สถานะ", + "active": "คล่องแคล่ว", + "inactive": "ไม่ใช้งาน", + "start": "เริ่ม", + "stop": "หยุด", + "restart": "เริ่มใหม่", + "connectionType": "ประเภทการเชื่อมต่อ", + "local": "ท้องถิ่น", + "remote": "ระยะไกล", + "dynamic": "พลวัต", + "unknownConnectionStatus": "ไม่ทราบ", + "portMapping": "พอร์ต {{sourcePort}} → {{endpointHost}}:{{endpointPort}}", + "endpointHostNotFound": "ไม่พบโฮสต์ปลายทาง", + "discord": "ดิสคอร์ด", + "githubIssue": "ปัญหา GitHub", + "forHelp": "เพื่อขอความช่วยเหลือ" + }, + "serverStats": { + "title": "สถิติเซิร์ฟเวอร์", + "cpu": "ซีพียู", + "memory": "หน่วยความจำ", + "disk": "ดิสก์", + "network": "เครือข่าย", + "uptime": "เวลาใช้งาน", + "loadAverage": "ค่าเฉลี่ย: {{avg1}}, {{avg5}}, {{avg15}}", + "processes": "กระบวนการ", + "connections": "การเชื่อมต่อ", + "usage": "การใช้งาน", + "available": "มีอยู่", + "total": "ทั้งหมด", + "free": "ฟรี", + "used": "ใช้แล้ว", + "percentage": "เปอร์เซ็นต์", + "refreshStatusAndMetrics": "อัปเดตสถานะและตัวชี้วัด", + "refreshStatus": "รีเฟรชสถานะ", + "fileManagerAlreadyOpen": "โปรแกรมจัดการไฟล์เปิดใช้งานอยู่แล้วสำหรับโฮสต์นี้", + "openFileManager": "เปิดตัวจัดการไฟล์", + "cpuCores_one": "{{count}} ซีพียู", + "cpuCores_other": "{{count}} ซีพียู", + "naCpus": "ไม่มีข้อมูล CPU", + "loadAverageNA": "ค่าเฉลี่ย: ไม่มีข้อมูล", + "cpuUsage": "การใช้งาน CPU", + "memoryUsage": "การใช้งานหน่วยความจำ", + "diskUsage": "การใช้งานดิสก์", + "rootStorageSpace": "พื้นที่จัดเก็บราก", + "of": "ของ", + "feedbackMessage": "มีไอเดียเกี่ยวกับสิ่งที่จะเกิดขึ้นต่อไปในด้านการจัดการเซิร์ฟเวอร์หรือไม่? แชร์ไอเดียของคุณได้ที่นี่", + "failedToFetchHostConfig": "ไม่สามารถดึงข้อมูลการกำหนดค่าโฮสต์ได้", + "failedToFetchStatus": "ไม่สามารถดึงสถานะเซิร์ฟเวอร์ได้", + "failedToFetchMetrics": "ไม่สามารถดึงข้อมูลเมตริกของเซิร์ฟเวอร์ได้", + "failedToFetchHomeData": "ไม่สามารถดึงข้อมูลบ้านได้", + "loadingMetrics": "กำลังโหลดข้อมูลสถิติ...", + "connecting": "กำลังเชื่อมต่อ...", + "refreshing": "สดชื่น...", + "serverOffline": "เซิร์ฟเวอร์ออฟไลน์", + "cannotFetchMetrics": "ไม่สามารถดึงข้อมูลเมตริกจากเซิร์ฟเวอร์ออฟไลน์ได้", + "totpRequired": "ต้องใช้การยืนยันตัวตน TOTP", + "totpUnavailable": "สถิติเซิร์ฟเวอร์ไม่พร้อมใช้งานสำหรับเซิร์ฟเวอร์ที่เปิดใช้งาน TOTP", + "totpVerified": "ตรวจสอบ TOTP เรียบร้อยแล้ว เริ่มการเก็บรวบรวมข้อมูลตัวชี้วัด", + "totpFailed": "การตรวจสอบ TOTP ล้มเหลว", + "totpInvalidCode": "รหัสยืนยันไม่ถูกต้อง", + "totpCancelled": "การเก็บรวบรวมข้อมูลตัวชี้วัดถูกยกเลิก", + "authenticationFailed": "การตรวจสอบสิทธิ์ล้มเหลว", + "noneAuthNotSupported": "สถิติเซิร์ฟเวอร์ไม่รองรับประเภทการตรวจสอบสิทธิ์แบบ 'none'", + "load": "โหลด", + "editLayout": "แก้ไขเค้าโครง", + "cancelEdit": "ยกเลิก", + "addWidget": "เพิ่มวิดเจ็ต", + "saveLayout": "บันทึกเค้าโครง", + "unsavedChanges": "การเปลี่ยนแปลงที่ยังไม่ได้บันทึก", + "layoutSaved": "บันทึกเค้าโครงสำเร็จแล้ว", + "failedToSaveLayout": "ไม่สามารถบันทึกเค้าโครงได้", + "systemInfo": "ข้อมูลระบบ", + "hostname": "ชื่อโฮสต์", + "operatingSystem": "ระบบปฏิบัติการ", + "kernel": "เคอร์เนล", + "totalUptime": "เวลาใช้งานทั้งหมด", + "seconds": "วินาที", + "networkInterfaces": "อินเทอร์เฟซเครือข่าย", + "noInterfacesFound": "ไม่พบอินเทอร์เฟซเครือข่าย", + "totalProcesses": "กระบวนการทั้งหมด", + "running": "วิ่ง", + "noProcessesFound": "ไม่พบกระบวนการใดๆ", + "loginStats": "สถิติการเข้าสู่ระบบ SSH", + "totalLogins": "จำนวนการเข้าสู่ระบบทั้งหมด", + "uniqueIPs": "ที่อยู่ IP ที่ไม่ซ้ำกัน", + "recentSuccessfulLogins": "การเข้าสู่ระบบสำเร็จล่าสุด", + "recentFailedAttempts": "ความพยายามที่ล้มเหลวเมื่อเร็ว ๆ นี้", + "noRecentLoginData": "ไม่มีข้อมูลการเข้าสู่ระบบล่าสุด", + "from": "จาก", + "quickActions": "การดำเนินการด่วน", + "executeQuickAction": "ดำเนินการ {{name}}", + "executingQuickAction": "กำลังดำเนินการ {{name}}...", + "quickActionSuccess": "{{name}} เสร็จสมบูรณ์เรียบร้อยแล้ว", + "quickActionFailed": "{{name}} ล้มเหลว", + "quickActionError": "ไม่สามารถดำเนินการ {{name}}ได้" + }, + "auth": { + "tagline": "ตัวจัดการเซิร์ฟเวอร์ SSH", + "description": "การจัดการการเชื่อมต่อ SSH ที่ปลอดภัย ทรงพลัง และใช้งานง่าย", + "welcomeBack": "ยินดีต้อนรับกลับสู่ TERMIX", + "createAccount": "สร้างบัญชี TERMIX ของคุณ", + "continueExternal": "ดำเนินการต่อด้วยผู้ให้บริการภายนอก", + "loginTitle": "เข้าสู่ระบบ Termix", + "registerTitle": "สร้างบัญชี", + "loginButton": "เข้าสู่ระบบ", + "registerButton": "ลงทะเบียน", + "forgotPassword": "ลืมรหัสผ่านใช่ไหม?", + "rememberMe": "จดจำฉันไว้", + "noAccount": "ยังไม่มีบัญชีใช่ไหม?", + "hasAccount": "มีบัญชีอยู่แล้วใช่ไหม?", + "loginSuccess": "เข้าสู่ระบบสำเร็จ", + "loginFailed": "การเข้าสู่ระบบล้มเหลว", + "registerSuccess": "การลงทะเบียนสำเร็จ", + "registerFailed": "การลงทะเบียนล้มเหลว", + "logoutSuccess": "ออกจากระบบสำเร็จแล้ว", + "invalidCredentials": "ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง", + "accountCreated": "สร้างบัญชีสำเร็จแล้ว", + "passwordReset": "ส่งลิงก์สำหรับรีเซ็ตรหัสผ่านแล้ว", + "twoFactorAuth": "การตรวจสอบสิทธิ์แบบสองปัจจัย", + "enterCode": "ป้อนรหัสยืนยัน", + "backupCode": "หรือใช้รหัสสำรอง", + "verifyCode": "ยืนยันรหัส", + "redirectingToApp": "กำลังเปลี่ยนเส้นทางไปยังแอป...", + "enableTwoFactor": "เปิดใช้งานการตรวจสอบสิทธิ์แบบสองขั้นตอน", + "disableTwoFactor": "ปิดใช้งานการตรวจสอบสิทธิ์แบบสองขั้นตอน", + "scanQRCode": "สแกนคิวอาร์โค้ดนี้ด้วยแอปยืนยันตัวตนของคุณ", + "backupCodes": "รหัสสำรอง", + "saveBackupCodes": "เก็บรหัสสำรองเหล่านี้ไว้ในที่ปลอดภัย", + "twoFactorEnabledSuccess": "เปิดใช้งานการตรวจสอบสิทธิ์แบบสองขั้นตอนสำเร็จแล้ว!", + "twoFactorDisabled": "ปิดใช้งานการตรวจสอบสิทธิ์แบบสองขั้นตอน", + "newBackupCodesGenerated": "สร้างรหัสสำรองข้อมูลใหม่แล้ว", + "backupCodesDownloaded": "ดาวน์โหลดรหัสสำรองแล้ว", + "pleaseEnterSixDigitCode": "โปรดป้อนรหัส 6 หลัก", + "invalidVerificationCode": "รหัสยืนยันไม่ถูกต้อง", + "failedToDisableTotp": "ไม่สามารถปิดใช้งาน TOTP ได้", + "failedToGenerateBackupCodes": "ไม่สามารถสร้างรหัสสำรองได้", + "enterPassword": "ป้อนรหัสผ่านของคุณ", + "lockedOidcAuth": "ล็อกอยู่ (การตรวจสอบสิทธิ์ OIDC)", + "twoFactorTitle": "การตรวจสอบสิทธิ์แบบสองปัจจัย", + "twoFactorProtected": "บัญชีของคุณได้รับการปกป้องด้วยการยืนยันตัวตนสองขั้นตอน", + "twoFactorActive": "การยืนยันตัวตนสองขั้นตอนเปิดใช้งานอยู่แล้วในบัญชีของคุณ", + "disable2FA": "ปิดใช้งาน 2FA", + "disableTwoFactorWarning": "การปิดใช้งานการยืนยันตัวตนสองขั้นตอนจะทำให้บัญชีของคุณมีความปลอดภัยน้อยลง", + "passwordOrTotpCode": "รหัสผ่านหรือรหัส TOTP", + "or": "หรือ", + "generateNewBackupCodesText": "หากคุณทำรหัสสำรองเดิมหาย ให้สร้างรหัสสำรองใหม่", + "generateNewBackupCodes": "สร้างรหัสสำรองข้อมูลใหม่", + "yourBackupCodes": "รหัสสำรองข้อมูลของคุณ", + "download": "ดาวน์โหลด", + "setupTwoFactorTitle": "ตั้งค่าการตรวจสอบสิทธิ์แบบสองขั้นตอน", + "sshAuthenticationRequired": "ต้องมีการตรวจสอบสิทธิ์ SSH", + "sshNoKeyboardInteractive": "การตรวจสอบสิทธิ์แบบโต้ตอบผ่านแป้นพิมพ์ไม่พร้อมใช้งาน", + "sshAuthenticationFailed": "การตรวจสอบสิทธิ์ล้มเหลว", + "sshAuthenticationTimeout": "หมดเวลาการตรวจสอบสิทธิ์", + "sshNoKeyboardInteractiveDescription": "เซิร์ฟเวอร์ไม่รองรับการตรวจสอบสิทธิ์แบบโต้ตอบด้วยแป้นพิมพ์ โปรดป้อนรหัสผ่านหรือคีย์ SSH ของคุณ", + "sshAuthFailedDescription": "ข้อมูลประจำตัวที่ให้มาไม่ถูกต้อง โปรดลองอีกครั้งด้วยข้อมูลประจำตัวที่ถูกต้อง", + "sshTimeoutDescription": "การพยายามยืนยันตัวตนหมดเวลา โปรดลองอีกครั้ง", + "sshProvideCredentialsDescription": "โปรดระบุข้อมูลประจำตัว SSH ของคุณเพื่อเชื่อมต่อกับเซิร์ฟเวอร์นี้", + "sshPasswordDescription": "ป้อนรหัสผ่านสำหรับการเชื่อมต่อ SSH นี้", + "sshKeyPasswordDescription": "หากคีย์ SSH ของคุณถูกเข้ารหัส ให้ป้อนรหัสผ่านที่นี่", + "step1ScanQR": "ขั้นตอนที่ 1: สแกนคิวอาร์โค้ดด้วยแอปยืนยันตัวตนของคุณ", + "manualEntryCode": "รหัสป้อนด้วยตนเอง", + "cannotScanQRText": "หากคุณไม่สามารถสแกนคิวอาร์โค้ดได้ โปรดป้อนโค้ดนี้ด้วยตนเองในแอปยืนยันตัวตนของคุณ", + "nextVerifyCode": "ถัดไป: ยืนยันรหัส", + "verifyAuthenticator": "ยืนยันตัวยืนยันตัวตนของคุณ", + "step2EnterCode": "ขั้นตอนที่ 2: ป้อนรหัส 6 หลักจากแอปยืนยันตัวตนของคุณ", + "verificationCode": "รหัสยืนยัน", + "back": "กลับ", + "verifyAndEnable": "ตรวจสอบและเปิดใช้งาน", + "saveBackupCodesTitle": "บันทึกรหัสสำรองของคุณ", + "step3StoreCodesSecurely": "ขั้นตอนที่ 3: เก็บรหัสเหล่านี้ไว้ในที่ปลอดภัย", + "importantBackupCodesText": "บันทึกรหัสสำรองเหล่านี้ไว้ในที่ปลอดภัย คุณสามารถใช้รหัสเหล่านี้เพื่อเข้าถึงบัญชีของคุณได้หากคุณทำอุปกรณ์ยืนยันตัวตนหาย", + "completeSetup": "การตั้งค่าเสร็จสมบูรณ์", + "notEnabledText": "การยืนยันตัวตนสองขั้นตอนเพิ่มระดับความปลอดภัยอีกชั้นหนึ่ง โดยกำหนดให้ต้องป้อนรหัสจากแอปยืนยันตัวตนของคุณเมื่อเข้าสู่ระบบ", + "enableTwoFactorButton": "เปิดใช้งานการตรวจสอบสิทธิ์แบบสองขั้นตอน", + "addExtraSecurityLayer": "เพิ่มระดับความปลอดภัยให้กับบัญชีของคุณอีกชั้นหนึ่ง", + "firstUser": "ผู้ใช้คนแรก", + "firstUserMessage": "คุณเป็นผู้ใช้คนแรกและจะได้รับสิทธิ์เป็นผู้ดูแลระบบ คุณสามารถดูการตั้งค่าผู้ดูแลระบบได้ในเมนูแบบเลื่อนลงผู้ใช้ด้านข้าง หากคุณคิดว่านี่เป็นข้อผิดพลาด โปรดตรวจสอบบันทึกของ Docker หรือสร้างปัญหาใน GitHub", + "external": "ภายนอก", + "loginWithExternal": "เข้าสู่ระบบด้วยผู้ให้บริการภายนอก", + "loginWithExternalDesc": "เข้าสู่ระบบโดยใช้ผู้ให้บริการยืนยันตัวตนภายนอกที่คุณกำหนดค่าไว้", + "externalNotSupportedInElectron": "แอป Electron ยังไม่รองรับการตรวจสอบสิทธิ์จากภายนอก โปรดใช้เวอร์ชันเว็บสำหรับการเข้าสู่ระบบ OIDC", + "resetPasswordButton": "รีเซ็ตรหัสผ่าน", + "sendResetCode": "ส่งรหัสรีเซ็ต", + "resetCodeDesc": "ป้อนชื่อผู้ใช้ของคุณเพื่อรับรหัสรีเซ็ต mật khẩu รหัสจะถูกบันทึกไว้ในบันทึกของคอนเทนเนอร์ Docker", + "resetCode": "รีเซ็ตโค้ด", + "verifyCodeButton": "ยืนยันรหัส", + "enterResetCode": "ป้อนรหัส 6 หลักจากบันทึกคอนเทนเนอร์ Docker สำหรับผู้ใช้:", + "goToLogin": "ไปที่หน้าเข้าสู่ระบบ", + "newPassword": "รหัสผ่านใหม่", + "confirmNewPassword": "ยืนยันรหัสผ่าน", + "enterNewPassword": "ป้อนรหัสผ่านใหม่สำหรับผู้ใช้:", + "signUp": "ลงทะเบียน", + "mobileApp": "แอปมือถือ", + "loggingInToMobileApp": "การเข้าสู่ระบบแอปพลิเคชันบนมือถือ", + "desktopApp": "แอปเดสก์ท็อป", + "loggingInToDesktopApp": "การเข้าสู่ระบบแอปพลิเคชันบนเดสก์ท็อป", + "loggingInToDesktopAppViaWeb": "การเข้าสู่ระบบแอปพลิเคชันบนเดสก์ท็อปผ่านทางเว็บอินเทอร์เฟซ", + "loadingServer": "กำลังโหลดเซิร์ฟเวอร์...", + "authenticating": "กำลังตรวจสอบสิทธิ์...", + "dataLossWarning": "การรีเซ็ตรหัสผ่านด้วยวิธีนี้จะลบข้อมูลโฮสต์ SSH ข้อมูลประจำตัว และข้อมูลที่เข้ารหัสอื่นๆ ที่บันทึกไว้ทั้งหมด การกระทำนี้ไม่สามารถย้อนกลับได้ โปรดใช้วิธีนี้เฉพาะในกรณีที่คุณลืมรหัสผ่านและไม่ได้เข้าสู่ระบบเท่านั้น", + "authenticationDisabled": "การตรวจสอบสิทธิ์ถูกปิดใช้งาน", + "authenticationDisabledDesc": "ขณะนี้วิธีการยืนยันตัวตนทั้งหมดถูกปิดใช้งาน โปรดติดต่อผู้ดูแลระบบของคุณ", + "passwordResetSuccess": "การรีเซ็ตรหัสผ่านสำเร็จ", + "passwordResetSuccessDesc": "รหัสผ่านของคุณถูกรีเซ็ตสำเร็จแล้ว คุณสามารถเข้าสู่ระบบด้วยรหัสผ่านใหม่ของคุณได้แล้ว" + }, + "errors": { + "notFound": "ไม่พบหน้าเว็บ", + "unauthorized": "การเข้าถึงโดยไม่ได้รับอนุญาต", + "forbidden": "ไม่อนุญาตให้เข้าถึง", + "serverError": "ข้อผิดพลาดของเซิร์ฟเวอร์", + "networkError": "ข้อผิดพลาดเครือข่าย", + "databaseConnection": "ไม่สามารถเชื่อมต่อกับฐานข้อมูลได้", + "unknownError": "ข้อผิดพลาดที่ไม่ทราบสาเหตุ", + "loginFailed": "การเข้าสู่ระบบล้มเหลว", + "failedPasswordReset": "ไม่สามารถเริ่มการรีเซ็ตรหัสผ่านได้", + "failedVerifyCode": "ไม่สามารถตรวจสอบรหัสรีเซ็ตได้", + "failedCompleteReset": "ไม่สามารถทำการรีเซ็ตรหัสผ่านให้เสร็จสมบูรณ์ได้", + "invalidTotpCode": "รหัส TOTP ไม่ถูกต้อง", + "failedOidcLogin": "ไม่สามารถเริ่มต้นการเข้าสู่ระบบ OIDC ได้", + "failedUserInfo": "ไม่สามารถรับข้อมูลผู้ใช้ได้หลังจากการเข้าสู่ระบบ OIDC", + "oidcAuthFailed": "การตรวจสอบสิทธิ์ OIDC ล้มเหลว", + "noTokenReceived": "ไม่ได้รับโทเค็นจากการเข้าสู่ระบบ", + "invalidAuthUrl": "ได้รับ URL การอนุญาตที่ไม่ถูกต้องจากแบ็กเอนด์", + "invalidInput": "ข้อมูลที่ป้อนไม่ถูกต้อง", + "requiredField": "ช่องนี้จำเป็นต้องกรอก", + "minLength": "ความยาวขั้นต่ำคือ {{min}}", + "maxLength": "ความยาวสูงสุดคือ {{max}}", + "invalidEmail": "ที่อยู่อีเมลไม่ถูกต้อง", + "passwordMismatch": "รหัสผ่านไม่ตรงกัน", + "passwordLoginDisabled": "ขณะนี้การเข้าสู่ระบบด้วยชื่อผู้ใช้/รหัสผ่านถูกปิดใช้งานอยู่", + "weakPassword": "รหัสผ่านอ่อนแอเกินไป", + "usernameExists": "ชื่อผู้ใช้ดังกล่าวมีอยู่แล้ว", + "emailExists": "อีเมลนี้มีอยู่แล้ว", + "loadFailed": "ไม่สามารถโหลดข้อมูลได้", + "saveError": "บันทึกไม่สำเร็จ", + "sessionExpired": "เซッションหมดอายุแล้ว โปรดเข้าสู่ระบบอีกครั้ง" + }, + "messages": { + "saveSuccess": "บันทึกสำเร็จแล้ว", + "saveError": "บันทึกไม่สำเร็จ", + "deleteSuccess": "ลบสำเร็จแล้ว", + "deleteError": "ลบไม่สำเร็จ", + "updateSuccess": "อัปเดตสำเร็จแล้ว", + "updateError": "การอัปเดตล้มเหลว", + "copySuccess": "คัดลอกไปยังคลิปบอร์ดแล้ว", + "copyError": "การคัดลอกล้มเหลว", + "copiedToClipboard": "{{item}} คัดลอกไปยังคลิปบอร์ดแล้ว", + "connectionEstablished": "การเชื่อมต่อสำเร็จแล้ว", + "connectionClosed": "การเชื่อมต่อถูกปิด", + "reconnecting": "กำลังเชื่อมต่อใหม่...", + "processing": "กำลังประมวลผล...", + "pleaseWait": "โปรดรอ...", + "registrationDisabled": "ขณะนี้ผู้ดูแลระบบได้ปิดใช้งานการลงทะเบียนบัญชีใหม่แล้ว โปรดเข้าสู่ระบบหรือติดต่อผู้ดูแลระบบ", + "databaseConnected": "เชื่อมต่อฐานข้อมูลสำเร็จแล้ว", + "databaseConnectionFailed": "ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลได้", + "checkServerConnection": "โปรดตรวจสอบการเชื่อมต่อเซิร์ฟเวอร์ของคุณแล้วลองใหม่อีกครั้ง", + "resetCodeSent": "รหัสรีเซ็ตถูกส่งไปยังบันทึกของ Docker แล้ว", + "codeVerified": "ตรวจสอบรหัสสำเร็จแล้ว", + "passwordResetSuccess": "การรีเซ็ตรหัสผ่านสำเร็จแล้ว", + "loginSuccess": "เข้าสู่ระบบสำเร็จ", + "registrationSuccess": "การลงทะเบียนสำเร็จ" + }, + "profile": { + "title": "โปรไฟล์ผู้ใช้", + "description": "จัดการการตั้งค่าบัญชีและความปลอดภัยของคุณ", + "security": "ความปลอดภัย", + "changePassword": "เปลี่ยนรหัสผ่าน", + "twoFactorAuth": "การตรวจสอบสิทธิ์แบบสองปัจจัย", + "accountInfo": "ข้อมูลบัญชี", + "role": "บทบาท", + "admin": "ผู้ดูแลระบบ", + "user": "ผู้ใช้", + "authMethod": "วิธีการตรวจสอบสิทธิ์", + "local": "ท้องถิ่น", + "external": "ภายนอก (OIDC)", + "externalAndLocal": "การตรวจสอบสิทธิ์แบบคู่", + "selectPreferredLanguage": "เลือกภาษาที่คุณต้องการใช้สำหรับส่วนติดต่อผู้ใช้", + "fileColorCoding": "การกำหนดรหัสสีไฟล์", + "fileColorCodingDesc": "กำหนดรหัสสีให้กับไฟล์ตามประเภท: โฟลเดอร์ (สีแดง), ไฟล์ (สีน้ำเงิน), ลิงก์สัญลักษณ์ (สีเขียว)", + "commandAutocomplete": "การเติมคำสั่งอัตโนมัติ", + "commandAutocompleteDesc": "เปิดใช้งานคำแนะนำการเติมข้อความอัตโนมัติด้วยปุ่ม Tab สำหรับคำสั่งเทอร์มินัลโดยอิงจากประวัติคำสั่งของคุณ", + "defaultSnippetFoldersCollapsed": "ยุบโฟลเดอร์ Snippet โดยค่าเริ่มต้น", + "defaultSnippetFoldersCollapsedDesc": "เมื่อเปิดใช้งานแล้ว โฟลเดอร์โค้ดสั้นทั้งหมดจะถูกยุบเมื่อคุณเปิดแท็บโค้ดสั้น", + "terminalSyntaxHighlighting": "การเน้นไวยากรณ์เทอร์มินัล", + "showHostTags": "แสดงแท็กโฮสต์", + "showHostTagsDesc": "แสดงแท็กใต้แต่ละโฮสต์ในแถบด้านข้าง ปิดใช้งานเพื่อซ่อนแท็กทั้งหมด", + "account": "บัญชี", + "appearance": "รูปร่าง", + "languageLocalization": "ภาษาและการแปล", + "fileManagerSettings": "ตัวจัดการไฟล์", + "terminalSettings": "เทอร์มินัล", + "hostSidebarSettings": "โฮสต์และแถบด้านข้าง", + "snippetsSettings": "เศษเสี้ยว", + "currentPassword": "รหัสผ่านปัจจุบัน", + "passwordChangedSuccess": "เปลี่ยนรหัสผ่านสำเร็จแล้ว! โปรดเข้าสู่ระบบอีกครั้ง", + "failedToChangePassword": "ไม่สามารถเปลี่ยนรหัสผ่านได้ โปรดตรวจสอบรหัสผ่านปัจจุบันของคุณแล้วลองใหม่อีกครั้ง", + "theme": "ธีม", + "themeLight": "แสงสว่าง", + "themeDark": "มืด", + "themeSystem": "ระบบ", + "appearanceDesc": "เลือกธีมสีสำหรับแอปพลิเคชัน", + "terminalSyntaxHighlightingDesc": "ไฮไลต์คำสั่ง เส้นทาง ที่อยู่ IP และระดับการบันทึกในเอาต์พุตเทอร์มินัลโดยอัตโนมัติ" + }, + "user": { + "failedToLoadVersionInfo": "ไม่สามารถโหลดข้อมูลเวอร์ชันได้" + }, + "placeholders": { + "enterCode": "000000", + "ipAddress": "127.0.0.1", + "port": "22", + "maxRetries": "3", + "retryInterval": "10", + "language": "ภาษา", + "username": "ชื่อผู้ใช้", + "hostname": "ชื่อโฮสต์", + "folder": "โฟลเดอร์", + "password": "รหัสผ่าน", + "keyPassword": "รหัสผ่านสำคัญ", + "sudoPassword": "รหัสผ่าน sudo (ไม่จำเป็น)", + "notes": "เพิ่มหมายเหตุเกี่ยวกับโฮสต์นี้...", + "expirationDate": "เลือกวันหมดอายุ", + "pastePrivateKey": "วางรหัสส่วนตัวของคุณที่นี่...", + "pastePublicKey": "วางรหัสสาธารณะของคุณที่นี่...", + "credentialName": "เซิร์ฟเวอร์ SSH ของฉัน", + "description": "คำอธิบายข้อมูลรับรอง SSH", + "searchCredentials": "ค้นหาข้อมูลประจำตัวโดยใช้ชื่อ ชื่อผู้ใช้ หรือแท็ก...", + "sshConfig": "การกำหนดค่า SSH ปลายทาง", + "homePath": "/บ้าน", + "clientId": "รหัสไคลเอ็นต์ของคุณ", + "clientSecret": "ความลับของลูกค้าของคุณ", + "authUrl": "https://your-provider.com/application/o/authorize/", + "redirectUrl": "https://your-provider.com/application/o/termix/", + "tokenUrl": "https://your-provider.com/application/o/token/", + "userIdField": "ซับ", + "usernameField": "ชื่อ", + "scopes": "โปรไฟล์อีเมล openid", + "userinfoUrl": "https://your-provider.com/application/o/userinfo/", + "enterUsername": "ป้อนชื่อผู้ใช้เพื่อเข้าเป็นผู้ดูแลระบบ", + "searchHosts": "ค้นหาโฮสต์ตามชื่อ ชื่อผู้ใช้ ที่อยู่ IP โฟลเดอร์ แท็ก...", + "enterPassword": "ป้อนรหัสผ่านของคุณ", + "totpCode": "รหัส TOTP 6 หลัก", + "searchHostsAny": "ค้นหาโฮสต์ (ลองใช้: tag:prod, user:root, ip:192.168)...", + "confirmPassword": "ป้อนรหัสผ่านของคุณเพื่อยืนยัน", + "typeHere": "พิมพ์ที่นี่", + "fileName": "ป้อนชื่อไฟล์ (เช่น example.txt)", + "folderName": "ป้อนชื่อโฟลเดอร์", + "fullPath": "ป้อนเส้นทางแบบเต็มไปยังรายการ", + "currentPath": "ป้อนเส้นทางปัจจุบันไปยังรายการ", + "newName": "ป้อนชื่อใหม่", + "socks5Host": "127.0.0.1", + "socks5Username": "ชื่อผู้ใช้พร็อกซี", + "socks5Password": "รหัสผ่านพร็อกซี", + "socks5PresetName": "เช่น เครือข่าย VPN สำหรับการทำงาน", + "socks5PresetDescription": "เช่น เครือข่ายพร็อกซีสำหรับการเข้าถึงเซิร์ฟเวอร์ที่ใช้ในการทำงาน", + "moshCommand": "mosh user@server", + "defaultPort": "22", + "defaultEndpointPort": "224", + "defaultMaxRetries": "3", + "defaultRetryInterval": "10" + }, + "leftSidebar": { + "failedToLoadHosts": "ไม่สามารถโหลดโฮสต์ได้", + "noFolder": "ไม่มีโฟลเดอร์", + "passwordRequired": "ต้องใส่รหัสผ่าน", + "failedToDeleteAccount": "ไม่สามารถลบบัญชีได้", + "failedToMakeUserAdmin": "ไม่สามารถทำให้ผู้ใช้เป็นผู้ดูแลระบบได้", + "userIsNowAdmin": "ผู้ใช้ {{username}} ตอนนี้เป็นผู้ดูแลระบบแล้ว", + "removeAdminConfirm": "คุณแน่ใจหรือไม่ว่าต้องการลบสถานะผู้ดูแลระบบออกจาก {{username}}?", + "deleteUserConfirm": "คุณแน่ใจหรือไม่ว่าต้องการลบผู้ใช้ {{username}}การกระทำนี้ไม่สามารถยกเลิกได้", + "deleteAccount": "ลบบัญชีผู้ใช้", + "closeDeleteAccount": "ปิด ลบ บัญชี", + "deleteAccountWarning": "การกระทำนี้ไม่สามารถย้อนกลับได้ การดำเนินการนี้จะลบบัญชีของคุณและข้อมูลที่เกี่ยวข้องทั้งหมดอย่างถาวร", + "deleteAccountWarningDetails": "การลบบัญชีของคุณจะลบข้อมูลทั้งหมดของคุณ รวมถึงโฮสต์ SSH การกำหนดค่า และการตั้งค่า การดำเนินการนี้ไม่สามารถย้อนกลับได้", + "deleteAccountWarningShort": "การดำเนินการนี้ไม่สามารถย้อนกลับได้และจะลบบัญชีของคุณอย่างถาวร", + "cannotDeleteAccount": "ไม่สามารถลบบัญชีได้", + "lastAdminWarning": "คุณเป็นผู้ดูแลระบบคนสุดท้าย คุณไม่สามารถลบบัญชีของคุณได้ เนื่องจากจะทำให้ระบบไม่มีผู้ดูแลระบบเหลืออยู่ โปรดแต่งตั้งผู้ใช้รายอื่นเป็นผู้ดูแลระบบก่อน หรือติดต่อฝ่ายสนับสนุนระบบ", + "confirmPassword": "ยืนยันรหัสผ่าน", + "deleting": "กำลังลบ...", + "cancel": "ยกเลิก" + }, + "interface": { + "sidebar": "แถบด้านข้าง", + "toggleSidebar": "สลับแถบด้านข้าง", + "close": "ปิด", + "online": "ออนไลน์", + "offline": "ออฟไลน์", + "maintenance": "การซ่อมบำรุง", + "degraded": "เสื่อมสภาพ", + "noTunnelConnections": "ไม่มีการกำหนดค่าการเชื่อมต่ออุโมงค์", + "discord": "ดิสคอร์ด", + "connectToSshForOperations": "เชื่อมต่อผ่าน SSH เพื่อใช้งานการจัดการไฟล์", + "uploadFile": "อัปโหลดไฟล์", + "newFile": "ไฟล์ใหม่", + "newFolder": "โฟลเดอร์ใหม่", + "rename": "เปลี่ยนชื่อ", + "deleteItem": "ลบรายการ", + "createNewFile": "สร้างไฟล์ใหม่", + "createNewFolder": "สร้างโฟลเดอร์ใหม่", + "renameItem": "เปลี่ยนชื่อรายการ", + "clickToSelectFile": "คลิกเพื่อเลือกไฟล์", + "noSshHosts": "ไม่มีโฮสต์ SSH", + "sshHosts": "โฮสต์ SSH", + "importSshHosts": "นำเข้าโฮสต์ SSH จากไฟล์ JSON", + "clientId": "รหัสลูกค้า", + "clientSecret": "ความลับของลูกค้า", + "error": "ข้อผิดพลาด", + "warning": "คำเตือน", + "deleteAccount": "ลบบัญชีผู้ใช้", + "closeDeleteAccount": "ปิด ลบ บัญชี", + "cannotDeleteAccount": "ไม่สามารถลบบัญชีได้", + "confirmPassword": "ยืนยันรหัสผ่าน", + "deleting": "กำลังลบ...", + "externalAuth": "การตรวจสอบสิทธิ์ภายนอก (OIDC)", + "configureExternalProvider": "กำหนดค่าผู้ให้บริการข้อมูลประจำตัวภายนอกสำหรับ", + "waitingForRetry": "กำลังรอการลองใหม่อีกครั้ง", + "retryingConnection": "กำลังลองเชื่อมต่อใหม่", + "resetSplitSizes": "รีเซ็ตขนาดการแบ่ง", + "sshManagerAlreadyOpen": "SSH Manager เปิดใช้งานอยู่แล้ว", + "disabledDuringSplitScreen": "ปิดใช้งานระหว่างการใช้งานแบบแบ่งหน้าจอ", + "unknown": "ไม่ทราบ", + "connected": "เชื่อมต่อแล้ว", + "disconnected": "ตัดการเชื่อมต่อ", + "maxRetriesExhausted": "จำนวนการลองใหม่สูงสุดหมดแล้ว", + "endpointHostNotFound": "ไม่พบโฮสต์ปลายทาง", + "administrator": "ผู้ดูแลระบบ", + "user": "ผู้ใช้", + "external": "ภายนอก", + "local": "ท้องถิ่น", + "saving": "ประหยัด...", + "saveConfiguration": "บันทึกการตั้งค่า", + "loading": "กำลังโหลด...", + "refresh": "รีเฟรช", + "adding": "เพิ่ม...", + "makeAdmin": "ตั้งค่าผู้ดูแลระบบ", + "verifying": "กำลังตรวจสอบ...", + "verifyAndEnable": "ตรวจสอบและเปิดใช้งาน", + "secretKey": "กุญแจลับ", + "totpQrCode": "รหัส QR ของ TOTP", + "passwordRequired": "จำเป็นต้องใส่รหัสผ่านเมื่อใช้การตรวจสอบสิทธิ์ด้วยรหัสผ่าน", + "sshKeyRequired": "จำเป็นต้องใช้คีย์ส่วนตัว SSH เมื่อใช้การตรวจสอบสิทธิ์ด้วยคีย์", + "keyTypeRequired": "ต้องระบุประเภทคีย์เมื่อใช้การตรวจสอบสิทธิ์ด้วยคีย์", + "validSshConfigRequired": "ต้องเลือกการกำหนดค่า SSH ที่ถูกต้องจากรายการ", + "updateHost": "อัปเดตโฮสต์", + "addHost": "เพิ่มโฮสต์", + "editHost": "แก้ไขโฮสต์", + "pinConnection": "การเชื่อมต่อพิน", + "authentication": "การตรวจสอบสิทธิ์", + "password": "รหัสผ่าน", + "key": "สำคัญ", + "sshPrivateKey": "คีย์ส่วนตัว SSH", + "keyPassword": "รหัสผ่าน", + "keyType": "ประเภทกุญแจ", + "enableTerminal": "เปิดใช้งานเทอร์มินัล", + "enableTunnel": "เปิดใช้งานอุโมงค์", + "enableFileManager": "เปิดใช้งานตัวจัดการไฟล์", + "defaultPath": "เส้นทางเริ่มต้น", + "tunnelConnections": "การเชื่อมต่ออุโมงค์", + "maxRetries": "จำนวนครั้งการลองใหม่สูงสุด", + "upload": "อัปโหลด", + "updateKey": "อัปเดตคีย์", + "productionFolder": "การผลิต", + "databaseServer": "เซิร์ฟเวอร์ฐานข้อมูล", + "developmentServer": "เซิร์ฟเวอร์สำหรับการพัฒนา", + "developmentFolder": "การพัฒนา", + "webServerProduction": "เว็บเซิร์ฟเวอร์ - เวอร์ชันใช้งานจริง", + "unknownError": "ข้อผิดพลาดที่ไม่ทราบสาเหตุ", + "failedToInitiatePasswordReset": "ไม่สามารถเริ่มการรีเซ็ตรหัสผ่านได้", + "failedToVerifyResetCode": "ไม่สามารถตรวจสอบรหัสรีเซ็ตได้", + "failedToCompletePasswordReset": "ไม่สามารถทำการรีเซ็ตรหัสผ่านให้เสร็จสมบูรณ์ได้", + "invalidTotpCode": "รหัส TOTP ไม่ถูกต้อง", + "failedToStartOidcLogin": "ไม่สามารถเริ่มต้นการเข้าสู่ระบบ OIDC ได้", + "failedToGetUserInfoAfterOidc": "ไม่สามารถรับข้อมูลผู้ใช้ได้หลังจากการเข้าสู่ระบบ OIDC", + "loginWithExternalProvider": "เข้าสู่ระบบด้วยผู้ให้บริการภายนอก", + "loginWithExternal": "เข้าสู่ระบบด้วยผู้ให้บริการภายนอก", + "sendResetCode": "ส่งรหัสรีเซ็ต", + "verifyCode": "ยืนยันรหัส", + "resetPassword": "รีเซ็ตรหัสผ่าน", + "login": "เข้าสู่ระบบ", + "signUp": "ลงทะเบียน", + "failedToUpdateOidcConfig": "การอัปเดตการกำหนดค่า OIDC ล้มเหลว", + "failedToMakeUserAdmin": "ไม่สามารถทำให้ผู้ใช้เป็นผู้ดูแลระบบได้", + "failedToStartTotpSetup": "ไม่สามารถเริ่มการตั้งค่า TOTP ได้", + "invalidVerificationCode": "รหัสยืนยันไม่ถูกต้อง", + "failedToDisableTotp": "ไม่สามารถปิดใช้งาน TOTP ได้", + "failedToGenerateBackupCodes": "ไม่สามารถสร้างรหัสสำรองได้" + }, + "mobile": { + "selectHostToStart": "เลือกโฮสต์เพื่อเริ่มเซสชันเทอร์มินัลของคุณ", + "limitedSupportMessage": "การรองรับเว็บไซต์บนมือถือยังอยู่ในระหว่างการพัฒนา โปรดใช้แอปพลิเคชันบนมือถือเพื่อประสบการณ์การใช้งานที่ดีกว่า", + "mobileAppInProgress": "แอปพลิเคชันมือถืออยู่ระหว่างการพัฒนา", + "mobileAppInProgressDesc": "เรากำลังพัฒนาแอปพลิเคชันมือถือโดยเฉพาะ เพื่อมอบประสบการณ์การใช้งานที่ดีขึ้นบนอุปกรณ์มือถือ", + "viewMobileAppDocs": "ติดตั้งแอปพลิเคชันมือถือ", + "mobileAppDocumentation": "เอกสารประกอบแอปพลิเคชันมือถือ" + }, + "dashboard": { + "title": "แดชบอร์ด", + "github": "กิตฮับ", + "support": "สนับสนุน", + "discord": "ดิสคอร์ด", + "donate": "บริจาค", + "serverOverview": "ภาพรวมเซิร์ฟเวอร์", + "version": "เวอร์ชั่น", + "upToDate": "อัปเดตล่าสุด", + "updateAvailable": "มีการอัปเดตแล้ว", + "uptime": "เวลาใช้งาน", + "database": "ฐานข้อมูล", + "healthy": "สุขภาพดี", + "error": "ข้อผิดพลาด", + "totalServers": "จำนวนเซิร์ฟเวอร์ทั้งหมด", + "totalTunnels": "อุโมงค์ทั้งหมด", + "totalCredentials": "ข้อมูลประจำตัวทั้งหมด", + "recentActivity": "กิจกรรมล่าสุด", + "reset": "รีเซ็ต", + "loadingRecentActivity": "กำลังโหลดกิจกรรมล่าสุด...", + "noRecentActivity": "ไม่มีกิจกรรมล่าสุด", + "quickActions": "การดำเนินการด่วน", + "addHost": "เพิ่มโฮสต์", + "addCredential": "เพิ่มข้อมูลรับรอง", + "adminSettings": "การตั้งค่าผู้ดูแลระบบ", + "userProfile": "โปรไฟล์ผู้ใช้", + "serverStats": "สถิติเซิร์ฟเวอร์", + "loadingServerStats": "กำลังโหลดข้อมูลสถิติเซิร์ฟเวอร์...", + "noServerData": "ไม่มีข้อมูลเซิร์ฟเวอร์", + "cpu": "ซีพียู", + "ram": "แรม", + "notAvailable": "ไม่มีข้อมูล" + }, + "rbac": { + "shareHost": "แชร์โฮสต์", + "shareHostTitle": "แชร์สิทธิ์การเข้าถึงโฮสต์", + "shareHostDescription": "อนุญาตให้เข้าถึงโฮสต์นี้เป็นการชั่วคราวหรือถาวร", + "targetUser": "กลุ่มเป้าหมาย", + "selectUser": "เลือกผู้ใช้ที่จะแชร์ด้วย", + "duration": "ระยะเวลา", + "durationHours": "ระยะเวลา (ชั่วโมง)", + "neverExpires": "ไม่มีวันหมดอายุ", + "permissionLevel": "ระดับการอนุญาต", + "permissionLevels": { + "readonly": "อ่านอย่างเดียว", + "readonlyDesc": "แสดงผลได้อย่างเดียว ไม่สามารถป้อนคำสั่งได้", + "restricted": "ถูกจำกัด", + "restrictedDesc": "ป้องกันคำสั่งอันตราย (เช่น passwd, rm -rf เป็นต้น)", + "monitored": "ตรวจสอบแล้ว", + "monitoredDesc": "บันทึกคำสั่งทั้งหมดแต่ไม่บล็อกการทำงาน (แนะนำ)", + "full": "สิทธิ์การเข้าถึงเต็มรูปแบบ", + "fullDesc": "ไม่มีข้อจำกัด (ไม่แนะนำ)" + }, + "blockedCommands": "คำสั่งที่ถูกบล็อก", + "blockedCommandsPlaceholder": "ป้อนคำสั่งเพื่อบล็อก เช่น passwd, rm, dd", + "maxSessionDuration": "ระยะเวลาสูงสุดของเซสชั่น (นาที)", + "createTempUser": "สร้างผู้ใช้ชั่วคราว", + "createTempUserDesc": "สร้างผู้ใช้ที่มีข้อจำกัดบนเซิร์ฟเวอร์แทนการแชร์ข้อมูลประจำตัวของคุณ ต้องใช้สิทธิ์ sudo เป็นตัวเลือกที่ปลอดภัยที่สุด", + "expiresAt": "หมดอายุเวลา", + "expiresIn": "หมดอายุในอีก {{hours}} ชั่วโมง", + "expired": "หมดอายุ", + "grantedBy": "ได้รับอนุญาตโดย", + "accessLevel": "ระดับการเข้าถึง", + "lastAccessed": "เข้าถึงครั้งล่าสุด", + "accessCount": "จำนวนการเข้าชม", + "revokeAccess": "เพิกถอนสิทธิ์การเข้าถึง", + "confirmRevokeAccess": "คุณแน่ใจหรือไม่ว่าต้องการเพิกถอนสิทธิ์การเข้าถึงสำหรับ {{username}}?", + "hostSharedSuccessfully": "แชร์โฮสต์สำเร็จแล้วด้วย {{username}}", + "hostAccessUpdated": "การเข้าถึงโฮสต์ได้รับการอัปเดตแล้ว", + "failedToShareHost": "ไม่สามารถแชร์โฮสต์ได้", + "accessRevokedSuccessfully": "สิทธิ์การเข้าถึงถูกยกเลิกเรียบร้อยแล้ว", + "failedToRevokeAccess": "ไม่สามารถเพิกถอนสิทธิ์การเข้าถึงได้", + "shared": "แชร์", + "sharedHosts": "โฮสต์ที่ใช้ร่วมกัน", + "sharedWithMe": "แชร์กับฉัน", + "noSharedHosts": "ไม่มีโฮสต์ใดถูกแชร์กับคุณ", + "owner": "เจ้าของ", + "viewAccessList": "ดูรายการสิทธิ์การเข้าถึง", + "accessList": "รายชื่อผู้มีสิทธิ์เข้าถึง", + "noAccessGranted": "โฮสต์นี้ไม่ได้รับอนุญาตให้เข้าถึง", + "noAccessGrantedMessage": "ยังไม่มีผู้ใช้รายใดได้รับสิทธิ์เข้าถึงโฮสต์นี้", + "manageAccessFor": "จัดการการเข้าถึงสำหรับ", + "totalAccessRecords": "{{count}} บันทึกการเข้าถึง", + "neverAccessed": "ไม่เคย", + "timesAccessed": "{{count}} ครั้ง", + "daysRemaining": "{{days}} วัน", + "hoursRemaining": "{{hours}} ชั่วโมง", + "failedToFetchAccessList": "ไม่สามารถดึงรายการสิทธิ์การเข้าถึงได้", + "currentAccess": "การเข้าถึงปัจจุบัน", + "securityWarning": "คำเตือนด้านความปลอดภัย", + "securityWarningMessage": "การแชร์ข้อมูลประจำตัวจะทำให้ผู้ใช้มีสิทธิ์เข้าถึงและดำเนินการใดๆ บนเซิร์ฟเวอร์ได้อย่างเต็มที่ รวมถึงการเปลี่ยนรหัสผ่านและการลบไฟล์ ควรแชร์เฉพาะกับผู้ใช้ที่ไว้ใจได้เท่านั้น", + "tempUserRecommended": "เราขอแนะนำให้เปิดใช้งาน 'สร้างผู้ใช้ชั่วคราว' เพื่อความปลอดภัยที่ดียิ่งขึ้น", + "roleManagement": "การจัดการบทบาท", + "manageRoles": "จัดการบทบาท", + "manageRolesFor": "จัดการบทบาทสำหรับ {{username}}", + "assignRole": "มอบหมายบทบาท", + "removeRole": "ลบบทบาท", + "userRoles": "บทบาทของผู้ใช้", + "permissions": "สิทธิ์การเข้าถึง", + "systemRole": "บทบาทของระบบ", + "customRole": "บทบาทที่กำหนดเอง", + "roleAssignedSuccessfully": "บทบาทได้รับการมอบหมายให้กับ {{username}} สำเร็จแล้ว", + "failedToAssignRole": "ไม่สามารถกำหนดบทบาทได้", + "roleRemovedSuccessfully": "ลบบทบาทออกจาก {{username}} สำเร็จแล้ว", + "failedToRemoveRole": "ไม่สามารถลบบทบาทได้", + "cannotRemoveSystemRole": "ไม่สามารถลบบทบาทระบบได้", + "cannotShareWithSelf": "ไม่สามารถแชร์โฮสต์กับตัวเองได้", + "noCustomRolesToAssign": "ไม่มีบทบาทที่กำหนดเองได้ บทบาทของระบบจะถูกกำหนดโดยอัตโนมัติ", + "credentialSharingWarning": "ไม่รองรับการตรวจสอบสิทธิ์ด้วยข้อมูลประจำตัวสำหรับการแชร์", + "credentialRequired": "จำเป็นต้องระบุข้อมูลรับรองเมื่อแชร์โฮสต์", + "credentialRequiredDescription": "โฮสต์นี้ไม่ได้ใช้การตรวจสอบสิทธิ์แบบใช้ข้อมูลประจำตัว เพื่อให้สามารถแชร์โฮสต์ได้ เนื่องจากมีการเข้ารหัสแบบต่อผู้ใช้ โฮสต์จึงต้องใช้การตรวจสอบสิทธิ์แบบใช้ข้อมูลประจำตัว", + "auditLogs": "บันทึกการตรวจสอบ", + "viewAuditLogs": "ดูบันทึกการตรวจสอบ", + "action": "การกระทำ", + "resourceType": "ประเภททรัพยากร", + "resourceName": "ชื่อทรัพยากร", + "timestamp": "ไทม์สแตมป์", + "ipAddress": "ที่อยู่ IP", + "userAgent": "ตัวแทนผู้ใช้", + "success": "ความสำเร็จ", + "failed": "ล้มเหลว", + "details": "รายละเอียด", + "noAuditLogs": "ไม่มีบันทึกการตรวจสอบให้ใช้งานได้", + "sessionRecordings": "การบันทึกการประชุม", + "viewRecording": "ดูบันทึกการแสดง", + "downloadRecording": "ดาวน์โหลดการบันทึก", + "dangerousCommand": "ตรวจพบคำสั่งอันตราย", + "commandBlocked": "คำสั่งถูกบล็อก", + "terminateSession": "ยุติเซสชัน", + "sessionTerminated": "เซสชันถูกยุติโดยเจ้าของโฮสต์", + "sharedAccessExpired": "สิทธิ์การเข้าถึงแบบแชร์ของคุณไปยังโฮสต์นี้หมดอายุแล้ว", + "sharedAccessExpiresIn": "สิทธิ์การเข้าถึงแบบแชร์จะหมดอายุในอีก {{hours}} ชั่วโมง", + "roles": { + "label": "บทบาท", + "admin": "ผู้ดูแลระบบ", + "user": "ผู้ใช้" + }, + "createRole": "สร้างบทบาท", + "editRole": "แก้ไขบทบาท", + "roleName": "ชื่อตำแหน่ง", + "displayName": "ชื่อที่แสดง", + "description": "คำอธิบาย", + "assignRoles": "มอบหมายบทบาท", + "userRoleAssignment": "การกำหนดบทบาทผู้ใช้", + "selectUserPlaceholder": "เลือกผู้ใช้", + "searchUsers": "ค้นหาผู้ใช้...", + "noUserFound": "ไม่พบผู้ใช้งาน", + "currentRoles": "ตำแหน่งงานปัจจุบัน", + "noRolesAssigned": "ไม่มีการกำหนดบทบาทใดๆ", + "assignNewRole": "มอบหมายบทบาทใหม่", + "selectRolePlaceholder": "เลือกบทบาท", + "searchRoles": "ค้นหาตำแหน่งงาน...", + "noRoleFound": "ไม่พบตำแหน่งงาน", + "assign": "กำหนด", + "roleCreatedSuccessfully": "สร้างบทบาทสำเร็จแล้ว", + "roleUpdatedSuccessfully": "อัปเดตข้อมูลบทบาทเรียบร้อยแล้ว", + "roleDeletedSuccessfully": "ลบข้อมูลบทบาทสำเร็จแล้ว", + "failedToLoadRoles": "ไม่สามารถโหลดบทบาทได้", + "failedToSaveRole": "ไม่สามารถบันทึกบทบาทได้", + "failedToDeleteRole": "ไม่สามารถลบบทบาทได้", + "roleDisplayNameRequired": "จำเป็นต้องระบุชื่อที่แสดงในบทบาท", + "roleNameRequired": "ต้องระบุชื่อตำแหน่งงาน", + "roleNameHint": "ใช้เฉพาะตัวอักษรพิมพ์เล็ก ตัวเลข เครื่องหมายขีดล่าง และเครื่องหมายขีดกลางเท่านั้น", + "displayNamePlaceholder": "นักพัฒนา", + "descriptionPlaceholder": "นักพัฒนาซอฟต์แวร์และวิศวกร", + "confirmDeleteRole": "ลบบทบาท", + "confirmDeleteRoleDescription": "คุณแน่ใจหรือไม่ว่าต้องการลบบทบาท '{{name}}'? การกระทำนี้ไม่สามารถยกเลิกได้", + "confirmRemoveRole": "ลบบทบาท", + "confirmRemoveRoleDescription": "คุณแน่ใจหรือไม่ว่าต้องการลบสิทธิ์นี้ออกจากผู้ใช้?", + "editRoleDescription": "อัปเดตข้อมูลบทบาท", + "createRoleDescription": "สร้างบทบาทที่กำหนดเองใหม่สำหรับการจัดกลุ่มผู้ใช้", + "assignRolesDescription": "จัดการการมอบหมายบทบาทให้กับผู้ใช้", + "noRoles": "ไม่พบตำแหน่งงาน", + "selectRole": "เลือกบทบาท", + "type": "พิมพ์", + "user": "ผู้ใช้", + "role": "บทบาท", + "saveHostFirst": "บันทึกโฮสต์ก่อน", + "saveHostFirstDescription": "โปรดบันทึกโฮสต์ก่อนตั้งค่าการแชร์", + "shareWithUser": "แชร์กับผู้ใช้", + "shareWithRole": "แชร์กับบทบาท", + "share": "แบ่งปัน", + "target": "เป้า", + "expires": "หมดอายุ", + "never": "ไม่เคย", + "noAccessRecords": "ไม่พบข้อมูลการเข้าถึง", + "sharedSuccessfully": "แชร์สำเร็จแล้ว", + "failedToShare": "ไม่สามารถแชร์ได้", + "confirmRevokeAccessDescription": "คุณแน่ใจหรือไม่ว่าต้องการยกเลิกสิทธิ์การเข้าถึงนี้?", + "hours": "ชั่วโมง", + "sharing": "การแบ่งปัน", + "selectUserAndRole": "โปรดเลือกทั้งผู้ใช้และบทบาท", + "view": "ดูได้อย่างเดียว", + "viewDesc": "เนื่องจากระบบการเข้ารหัสของ Termix ระดับการอนุญาตอื่นๆ จะถูกเพิ่มเข้ามาในภายหลัง" + }, + "commandPalette": { + "searchPlaceholder": "ค้นหาโฮสต์หรือการดำเนินการด่วน...", + "recentActivity": "กิจกรรมล่าสุด", + "navigation": "การนำทาง", + "addHost": "เพิ่มโฮสต์", + "addCredential": "เพิ่มข้อมูลรับรอง", + "adminSettings": "การตั้งค่าผู้ดูแลระบบ", + "userProfile": "โปรไฟล์ผู้ใช้", + "updateLog": "บันทึกการอัปเดต", + "hosts": "โฮสต์", + "openServerDetails": "ดูรายละเอียดเซิร์ฟเวอร์", + "openFileManager": "เปิดตัวจัดการไฟล์", + "edit": "แก้ไข", + "links": "ลิงก์", + "github": "กิตฮับ", + "support": "สนับสนุน", + "discord": "ดิสคอร์ด", + "donate": "บริจาค", + "press": "กด", + "toToggle": "เพื่อสลับ", + "close": "ปิด", + "hostManager": "ผู้จัดการโฮสต์", + "pressToToggle": "กดปุ่ม Shift ซ้ายสองครั้งเพื่อเปิดแถบคำสั่ง" + }, + "docker": { + "notEnabled": "Docker ไม่ได้เปิดใช้งานสำหรับโฮสต์นี้", + "validating": "กำลังตรวจสอบความถูกต้องของ Docker...", + "connectingToHost": "กำลังเชื่อมต่อกับโฮสต์...", + "error": "ข้อผิดพลาด", + "errorCode": "รหัสข้อผิดพลาด: {{code}}", + "version": "ด็อกเกอร์ {{version}}", + "containerStarted": "คอนเทนเนอร์ {{name}} เริ่มทำงานแล้ว", + "failedToStartContainer": "ไม่สามารถเริ่มต้นคอนเทนเนอร์ได้ {{name}}", + "containerStopped": "คอนเทนเนอร์ {{name}} หยุดทำงานแล้ว", + "failedToStopContainer": "ไม่สามารถหยุดคอนเทนเนอร์ได้ {{name}}", + "containerRestarted": "คอนเทนเนอร์ {{name}} รีสตาร์ทแล้ว", + "failedToRestartContainer": "ไม่สามารถรีสตาร์ทคอนเทนเนอร์ได้ {{name}}", + "containerPaused": "คอนเทนเนอร์ {{name}} หยุดชั่วคราว", + "containerUnpaused": "คอนเทนเนอร์ {{name}} ยกเลิกการหยุดชั่วคราว", + "failedToTogglePauseContainer": "ไม่สามารถสลับสถานะหยุดชั่วคราวสำหรับคอนเทนเนอร์ {{name}}ได้", + "containerRemoved": "คอนเทนเนอร์ {{name}} ถูกลบออกแล้ว", + "failedToRemoveContainer": "ไม่สามารถลบคอนเทนเนอร์ {{name}}ได้", + "image": "ภาพ", + "idLabel": "รหัสประจำตัว", + "ports": "ท่าเรือ", + "noPorts": "ไม่มีพอร์ต", + "created": "สร้าง", + "start": "เริ่ม", + "stop": "หยุด", + "pause": "หยุดชั่วคราว", + "unpause": "ยกเลิกการหยุดชั่วคราว", + "restart": "เริ่มใหม่", + "remove": "ลบ", + "removeContainer": "นำภาชนะออก", + "confirmRemoveContainer": "คุณแน่ใจหรือไม่ว่าต้องการลบคอนเทนเนอร์ '{{name}}'? การกระทำนี้ไม่สามารถย้อนกลับได้", + "runningContainerWarning": "คำเตือน: ขณะนี้คอนเทนเนอร์นี้กำลังทำงานอยู่ การลบคอนเทนเนอร์นี้จะหยุดการทำงานของคอนเทนเนอร์ก่อน", + "removing": "กำลังลบ...", + "loadingContainers": "กำลังขนถ่ายตู้คอนเทนเนอร์...", + "noContainersFound": "ไม่พบภาชนะบรรจุใดๆ", + "noContainersFoundHint": "ไม่มีคอนเทนเนอร์ Docker ให้บริการบนโฮสต์นี้", + "searchPlaceholder": "ค้นหาตู้คอนเทนเนอร์...", + "filterByStatusPlaceholder": "กรองตามสถานะ", + "allContainersCount": "ทั้งหมด ({{count}})", + "statusCount": "{{status}} ({{count}})", + "noContainersMatchFilters": "ไม่มีภาชนะใดตรงกับตัวกรองของคุณ", + "noContainersMatchFiltersHint": "ลองปรับเกณฑ์การค้นหาหรือตัวกรองของคุณดู", + "containerMustBeRunningToViewStats": "ต้องเปิดใช้งานคอนเทนเนอร์เพื่อดูสถิติ", + "failedToFetchStats": "ไม่สามารถดึงข้อมูลสถิติของคอนเทนเนอร์ได้", + "containerNotRunning": "คอนเทนเนอร์ไม่ทำงาน", + "startContainerToViewStats": "เริ่มคอนเทนเนอร์เพื่อดูสถิติ", + "loadingStats": "กำลังโหลดสถิติ...", + "errorLoadingStats": "ข้อผิดพลาดในการโหลดสถิติ", + "noStatsAvailable": "ไม่มีสถิติให้ดู", + "cpuUsage": "การใช้งาน CPU", + "current": "ปัจจุบัน", + "memoryUsage": "การใช้งานหน่วยความจำ", + "usedLimit": "ใช้งานแล้ว / ขีดจำกัด", + "percentage": "เปอร์เซ็นต์", + "networkIo": "อินพุต/เอาต์พุตเครือข่าย", + "input": "ป้อนข้อมูล", + "output": "เอาต์พุต", + "blockIo": "บล็อก I/O", + "read": "อ่าน", + "write": "เขียน", + "pids": "PIDs", + "containerInformation": "ข้อมูลเกี่ยวกับตู้คอนเทนเนอร์", + "name": "ชื่อ", + "id": "รหัสประจำตัว", + "state": "สถานะ", + "disconnectedFromContainer": "ตัดการเชื่อมต่อจากคอนเทนเนอร์", + "containerMustBeRunning": "ต้องรอให้คอนเทนเนอร์ทำงานอยู่จึงจะสามารถเข้าถึงคอนโซลได้", + "authenticationRequired": "จำเป็นต้องยืนยันตัวตน", + "verificationCodePrompt": "ป้อนรหัสยืนยัน", + "totpVerificationFailed": "การตรวจสอบ TOTP ล้มเหลว โปรดลองอีกครั้ง", + "connectedTo": "เชื่อมต่อกับ {{containerName}}", + "disconnected": "ตัดการเชื่อมต่อ", + "consoleError": "ข้อผิดพลาดของคอนโซล", + "errorMessage": "ข้อผิดพลาด: {{message}}", + "failedToConnect": "ไม่สามารถเชื่อมต่อกับคอนเทนเนอร์ได้", + "console": "คอนโซล", + "selectShell": "เลือกเปลือกหอย", + "bash": "ทุบตี", + "sh": "ช", + "ash": "เถ้า", + "connecting": "กำลังเชื่อมต่อ...", + "connect": "เชื่อมต่อ", + "disconnect": "ตัดการเชื่อมต่อ", + "notConnected": "ไม่ได้เชื่อมต่อ", + "clickToConnect": "คลิกเชื่อมต่อเพื่อเริ่มเซสชันเชลล์", + "connectingTo": "กำลังเชื่อมต่อกับ {{containerName}}...", + "containerNotFound": "ไม่พบคอนเทนเนอร์", + "backToList": "กลับสู่รายการ", + "logs": "บันทึก", + "stats": "สถิติ", + "consoleTab": "คอนโซล", + "startContainerToAccess": "เริ่มคอนเทนเนอร์เพื่อเข้าถึงคอนโซล" + }, + "theme": { + "switchToLight": "เปลี่ยนเป็นโหมดสว่าง", + "switchToDark": "เปลี่ยนเป็นโหมดมืด" + } +}