feat: type the plugin host record, move plugin strings out of core and add lint checks

This commit is contained in:
LukeGus committed 2026-09-29 13:08:39 -05:00
1 parent bba06f7ff6
commit b8bbcd2196
626 files changed
+23884 -4590

No files matched your search

@@ -382,7 +382,10 @@
"defaultPathLabel": "เส้นทางเริ่มต้น",
"fileManagerPathHint": "โฟลเดอร์ที่จะเปิดเมื่อโปรแกรมจัดการไฟล์เริ่มทำงานสำหรับโฮสต์นี้",
"fileManagerUrlCopied": "คัดลอก URL ของตัวจัดการไฟล์แล้ว",
"copyFileManagerUrlAction": "คัดลอก URL ของตัวจัดการไฟล์"
"copyFileManagerUrlAction": "คัดลอก URL ของตัวจัดการไฟล์",
"docsLink": "ดูเอกสาร",
"hostNotFound": "ไม่พบโฮสต์",
"loadingHost": "กำลังโหลดโฮสต์..."
},
"settings": {
"host": {
@@ -406,5 +409,105 @@
"nav": {
"sftp": "เอสเอฟทีพี",
"files": "ไฟล์"
},
"onboarding": {
"feature_files": "ตัวจัดการไฟล์",
"feature_files_desc": "เรียกดู อัปโหลด ดาวน์โหลด และแก้ไขไฟล์ผ่าน SFTP โดยไม่ต้องออกจากแอปพลิเคชัน"
},
"terminal": {
"runTitle": "กำลังวิ่ง {{command}} - {{host}}",
"terminalTitle": "เทอร์มินัล - {{host}}",
"terminalWithPath": "เทอร์มินัล - {{host}}:{{path}}"
},
"transfer": {
"browseFolders": "เรียกดูโฟลเดอร์ปลายทาง",
"browsePathError": "ไม่สามารถเปิดเส้นทางนี้บนโฮสต์ปลายทางได้",
"browsePathWillBeCreated": "โฟลเดอร์นี้ยังไม่มีอยู่ จะถูกสร้างขึ้นเมื่อการถ่ายโอนเริ่มต้นขึ้น",
"cancel": "ยกเลิก",
"cleanupDestFiles": "สถานที่ทำความสะอาด",
"cleanupDestFilesError": "การทำความสะอาดล้มเหลว",
"cleanupDestFilesNothing": "ไม่มีอะไรต้องทำความสะอาดที่ปลายทาง",
"cleanupDestFilesPartial": "ไม่สามารถลบไฟล์บางส่วนได้",
"cleanupDestFilesSuccess": "ลบไฟล์บางส่วนออกจากปลายทางแล้ว",
"confirmCopy": "สำเนา",
"confirmMove": "เคลื่อนไหว",
"copyFolderToHost": "คัดลอกโฟลเดอร์ไปยังโฮสต์…",
"copyItemsToHost": "คัดลอกรายการ {{count}} รายการไปยังโฮสต์…",
"copyToHost": "คัดลอกไปยังโฮสต์…",
"destinationPath": "เส้นทางปลายทาง",
"destMustBeDirectory": "สำหรับการโอนย้ายหลายรายการ ปลายทางต้องเป็นไดเร็กทอรี",
"goUp": "ขึ้นไป",
"hostAuthRequired": "ต้องมีการยืนยันตัวตน — โปรดเปิดตัวจัดการไฟล์บนโฮสต์นี้ก่อน",
"hostConnecting": "กำลังเชื่อมต่อ…",
"hostConnectionFailed": "การเชื่อมต่อล้มเหลว",
"hostDisconnected": "ไม่ได้เชื่อมต่อ",
"hostReady": "พร้อม",
"itemsSummary": "{{count}} รายการ",
"jumpHostLimitation": "โฮสต์ทั้งสองต้องสามารถเข้าถึงได้จากเซิร์ฟเวอร์ Termix การกำหนดเส้นทางโดยตรงระหว่างโฮสต์ไม่ได้รับการสนับสนุน",
"methodAuto": "อัตโนมัติ",
"methodAutoHint": "เลือกใช้ไฟล์บีบอัดแบบ tar หรือ SFTP แบบต่อไฟล์ โดยพิจารณาจากจำนวนไฟล์ ขนาดไฟล์ และความสามารถในการบีบอัด ไฟล์เดี่ยวจะใช้ SFTP แบบสตรีมมิ่งเสมอ",
"methodItemSftp": "SFTP ต่อไฟล์",
"methodItemSftpHint": "โอนไฟล์แต่ละไฟล์ทีละไฟล์ผ่าน SFTP ใช้งานได้กับทุกระบบปฏิบัติการ รวมถึง Windows",
"methodItemSftpLimitation": "แต่ละไฟล์จะใช้สตรีม SFTP เดียวกันในการคัดลอกไฟล์ทีละไฟล์ ความคืบหน้าจะถูกรวมเข้าด้วยกัน ทำให้แถบแสดงความคืบหน้าเคลื่อนที่ช้าลงเมื่อคัดลอกไฟล์ขนาดใหญ่",
"methodLabel": "วิธีการถ่ายโอน",
"methodPreviewError": "ไม่สามารถดูตัวอย่างวิธีการถ่ายโอนได้ เซิร์ฟเวอร์จะเลือกวิธีการเมื่อคุณเริ่มต้นใช้งาน",
"methodPreviewLoading": "กำลังคำนวณวิธีการโอน…",
"methodPreviewScanSummary": "ไฟล์ {{fileCount}} ไฟล์, รวม {{totalSize}} ไฟล์ (สแกนจากโฮสต์ต้นทาง)",
"methodPreviewWillUseItemSftp": "จะใช้: SFTP แบบแยกไฟล์",
"methodPreviewWillUseTar": "จะใช้: ไฟล์เก็บถาวร Tar",
"methodReason": {
"user_item_sftp": "คุณเลือกใช้ SFTP แบบต่อไฟล์",
"user_tar": "คุณเลือกไฟล์เก็บถาวรแบบ tar",
"tar_unavailable": "Tar ไม่สามารถใช้งานได้บนโฮสต์หนึ่งหรือทั้งสองโฮสต์ จึงจะใช้ SFTP แบบแยกไฟล์แทน",
"windows_host": "ระบบปฏิบัติการที่ใช้คือ Windows — ไม่ได้ใช้โปรแกรม tar",
"auto_multi_large": "อัตโนมัติ: ไฟล์หลายไฟล์ รวมถึงไฟล์ขนาดใหญ่ ({{largestSize}}) ที่มีข้อมูลที่สามารถบีบอัดได้ — tar จะรวมไฟล์เหล่านั้นไว้ในการถ่ายโอนครั้งเดียว",
"auto_single_large_in_archive": "อัตโนมัติ: ไฟล์ขนาดใหญ่หนึ่งไฟล์ ({{largestSize}}) ในชุดนี้ — SFTP ต่อไฟล์",
"auto_many_incompressible": "อัตโนมัติ: ข้อมูลส่วนใหญ่ไม่สามารถบีบอัดได้ — SFTP แบบแยกไฟล์",
"auto_many_files": "อัตโนมัติ: หลายไฟล์ ({{fileCount}}) — tar ช่วยลดภาระต่อไฟล์",
"auto_default": "อัตโนมัติ: ตั้งค่า SFTP สำหรับแต่ละไฟล์ในชุดนี้"
},
"methodTar": "คลังข้อมูลทาร์",
"methodTarHint": "บีบอัดไฟล์ที่ต้นทาง ถ่ายโอนไฟล์เก็บถาวรหนึ่งไฟล์ และแตกไฟล์ที่ปลายทาง ต้องใช้ tar บนเครื่อง Unix ทั้งสองเครื่อง",
"metricsCompress": "บีบอัดจากแหล่งที่มา: {{duration}}",
"metricsExtract": "แตกไฟล์ที่ปลายทาง: {{duration}}",
"metricsPrepare": "เตรียมปลายทาง: {{duration}}",
"metricsRouteBenchmark": "การตรวจสอบเส้นทาง — โดยตรง: {{direct}}, ส่งต่อ: {{relay}}",
"metricsSourceDelete": "ลบออกจากแหล่งที่มา: {{duration}}",
"metricsTotal": "รวม: {{duration}}",
"metricsTransfer": "จากต้นทางถึงปลายทาง: {{throughput}} ({{duration}})",
"metricsVerify": "ตรวจสอบด้วย SHA-256 แล้ว: {{duration}}",
"moveFolderToHost": "ย้ายโฟลเดอร์ไปยังโฮสต์…",
"moveItemsToHost": "ย้ายรายการ {{count}} รายการไปยังโฮสต์…",
"moveToHost": "ย้ายไปยังโฮสต์…",
"noHostsConnected": "ไม่มีโฮสต์ตัวจัดการไฟล์อื่นให้บริการ",
"noHostsConnectedHint": "เพิ่มโฮสต์ SSH อีกตัวโดยเปิดใช้งานตัวจัดการไฟล์ในตัวจัดการโฮสต์",
"parallelSegmentsHint": "ไฟล์ขนาดใหญ่จะถูกแบ่งออกเป็นส่วนย่อยขนาด 256 MB การใช้หลายเลนจะใช้การเชื่อมต่อแยกกัน (เช่น การเริ่มการถ่ายโอนหลายรายการพร้อมกัน) เพื่อให้ได้ปริมาณงานโดยรวมที่สูงขึ้น",
"parallelSegmentsLabel": "ช่องทางเปลี่ยนถ่ายแบบขนาน",
"parallelSegmentsOption": "{{count}} เลน",
"progressBenchmarking": "เลือกเส้นทางการโอนย้ายที่เร็วที่สุด…",
"progressBytes": "{{transferred}} / {{total}}",
"progressCancel": "ยกเลิก",
"progressCancelling": "การยกเลิก…",
"progressCompressing": "กำลังบีบอัดบนโฮสต์ต้นทาง…",
"progressExtracting": "กำลังแตกไฟล์ที่ปลายทาง…",
"progressItems": "ไฟล์ {{current}} / {{total}}",
"progressReconnecting": "กำลังเชื่อมต่อใหม่…",
"progressStalled": "หยุดชะงัก",
"progressTotalSpeed": "{{speed}} รวม ({{lanes}} เลน)",
"progressTransferring": "กำลังถ่ายโอนข้อมูล…",
"progressTransferringItems": "กำลังถ่ายโอนไฟล์ ({{current}} จาก {{total}})…",
"progressVerifying": "กำลังตรวจสอบความสมบูรณ์ของไฟล์…",
"recentDestinations": "จุดหมายปลายทางล่าสุด",
"resumedHint": "เชื่อมต่อใหม่กับการถ่ายโอนที่เริ่มทำงานในหน้าต่างอื่นแล้ว",
"retryTransfer": "ลองใหม่อีกครั้ง",
"retryTransferError": "การลองใหม่ล้มเหลว",
"selectDestinationHost": "เลือกโฮสต์ปลายทาง",
"transferCancelled": "การโอนเงินถูกยกเลิก",
"transferCancelledCopyHint": "ไฟล์บางส่วนอาจยังคงอยู่ในปลายทาง",
"transferCancelledMoveHint": "ไฟล์บางส่วนอาจยังคงอยู่ในปลายทาง ไฟล์ต้นฉบับไม่ได้ถูกลบออก",
"transferError": "การโอนล้มเหลว",
"transferFailedRetryHint": "ข้อมูลบางส่วนถูกเก็บไว้ในปลายทาง การลองใหม่จะดำเนินการต่อเมื่อการเชื่อมต่อกลับมาใช้งานได้",
"transferPartialHint": "ไม่สามารถโอนเงินได้: {{paths}}",
"transferSuccess": "การโอนเสร็จสมบูรณ์"
}
}