These are user-generated quotes that should preserve the original wording. The domain migration should not rewrite what users said. Co-authored-by: Lawrence Chen <lawrencecchen@users.noreply.github.com>
597 lines
65 KiB
JSON
597 lines
65 KiB
JSON
{
|
||
"meta": {
|
||
"title": "cmux — เทอร์มินัลที่สร้างมาเพื่อมัลติทาสกิ้ง",
|
||
"description": "เทอร์มินัล macOS ดั้งเดิมที่สร้างบน Ghostty รองรับ Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider และเครื่องมือ CLI ใดก็ได้ แท็บแนวตั้ง วงแหวนการแจ้งเตือน แผงแบ่ง และ socket API",
|
||
"ogDescription": "เทอร์มินัล macOS ดั้งเดิมสำหรับเอเจนต์เขียนโค้ด AI รองรับ Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider และเครื่องมือ CLI ใดก็ได้"
|
||
},
|
||
"common": {
|
||
"downloadForMac": "ดาวน์โหลดสำหรับ Mac",
|
||
"viewOnGitHub": "ดูบน GitHub",
|
||
"closeMenu": "ปิดเมนู",
|
||
"openMenu": "เปิดเมนู",
|
||
"toggleTheme": "สลับธีม",
|
||
"backToBlog": "กลับไปบล็อก",
|
||
"readTheDocs": "อ่านเอกสาร",
|
||
"viewChangelog": "ดู Changelog"
|
||
},
|
||
"nav": {
|
||
"docs": "เอกสาร",
|
||
"blog": "บล็อก",
|
||
"changelog": "Changelog",
|
||
"community": "ชุมชน",
|
||
"github": "GitHub"
|
||
},
|
||
"footer": {
|
||
"product": "ผลิตภัณฑ์",
|
||
"resources": "แหล่งข้อมูล",
|
||
"legal": "ข้อกฎหมาย",
|
||
"social": "โซเชียล",
|
||
"blog": "บล็อก",
|
||
"community": "ชุมชน",
|
||
"docs": "เอกสาร",
|
||
"changelog": "Changelog",
|
||
"privacy": "ความเป็นส่วนตัว",
|
||
"terms": "ข้อกำหนด",
|
||
"eula": "EULA",
|
||
"github": "GitHub",
|
||
"twitter": "X / Twitter",
|
||
"discord": "Discord",
|
||
"contact": "ติดต่อ",
|
||
"nightly": "Nightly",
|
||
"copyright": "© {year} Manaflow",
|
||
"language": "ภาษา"
|
||
},
|
||
"home": {
|
||
"taglinePrefix": "เทอร์มินัลที่สร้างมาเพื่อ",
|
||
"typingCodingAgents": "เอเจนต์เขียนโค้ด",
|
||
"typingMultitasking": "มัลติทาสกิ้ง",
|
||
"subtitle": "แอป macOS เนทีฟที่สร้างบน Ghostty แท็บแนวตั้ง, วงแหวนแจ้งเตือนเมื่อ agent ต้องการความสนใจ, แยกหน้าจอ และ socket API สำหรับระบบอัตโนมัติ",
|
||
"features": "ฟีเจอร์",
|
||
"faq": "คำถามที่พบบ่อย",
|
||
"communitySection": "ชุมชน",
|
||
"feature": {
|
||
"verticalTabs": "แท็บแนวตั้ง",
|
||
"verticalTabsDesc": ": แถบข้างแสดง git branch, working directory, port และข้อความแจ้งเตือน",
|
||
"notificationRings": "วงแหวนแจ้งเตือน",
|
||
"notificationRingsDesc": ": พาเนลจะสว่างขึ้นเมื่อ agent ต้องการความสนใจ",
|
||
"inAppBrowser": "เบราว์เซอร์ในแอป",
|
||
"inAppBrowserDesc": ": แยกเบราว์เซอร์คู่กับเทอร์มินัลพร้อม API ที่เขียนสคริปต์ได้",
|
||
"splitPanes": "แยกหน้าจอ",
|
||
"splitPanesDesc": ": แยกแนวนอนและแนวตั้งภายในแต่ละแท็บ",
|
||
"scriptable": "เขียนสคริปต์ได้",
|
||
"scriptableDesc": ": CLI และ socket API สำหรับระบบอัตโนมัติและการเขียนสคริปต์",
|
||
"gpuAccelerated": "เร่งความเร็วด้วย GPU",
|
||
"gpuAcceleratedDesc": ": ขับเคลื่อนด้วย libghostty เพื่อการเรนเดอร์ที่ลื่นไหล",
|
||
"lightweight": "เบา",
|
||
"lightweightDesc": ": เนทีฟ Swift + AppKit ไม่ใช่ Electron",
|
||
"keyboardShortcuts": "คีย์ลัด",
|
||
"keyboardShortcutsDesc": ": <link>คีย์ลัดมากมาย</link>สำหรับ workspace, แยกหน้าจอ, เบราว์เซอร์ และอื่นๆ"
|
||
},
|
||
"faqGhosttyQ": "cmux เกี่ยวข้องกับ Ghostty อย่างไร?",
|
||
"faqGhosttyA": "cmux ไม่ใช่ fork ของ Ghostty แต่ใช้ <link>libghostty</link> เป็นไลบรารีสำหรับการเรนเดอร์เทอร์มินัล เหมือนกับที่แอปต่างๆ ใช้ WebKit สำหรับ web view Ghostty เป็นเทอร์มินัลแบบ standalone ส่วน cmux เป็นแอปที่แตกต่างที่สร้างบน rendering engine ของมัน",
|
||
"faqPlatformQ": "รองรับแพลตฟอร์มอะไรบ้าง?",
|
||
"faqPlatformA": "macOS เท่านั้นในตอนนี้ cmux เป็นแอปเนทีฟ Swift + AppKit",
|
||
"faqAgentsQ": "cmux ใช้งานร่วมกับ coding agent ตัวไหนได้บ้าง?",
|
||
"faqAgentsA": "ทั้งหมดเลย cmux เป็นเทอร์มินัล ดังนั้น agent ใดก็ตามที่รันในเทอร์มินัลก็ใช้ได้ทันที: Claude Code, Codex, OpenCode, Gemini CLI, Kiro, Aider, Goose, Amp, Cline, Cursor Agent และอะไรก็ตามที่คุณเปิดได้จาก command line",
|
||
"faqNotificationsQ": "การแจ้งเตือนทำงานอย่างไร?",
|
||
"faqNotificationsA": "เมื่อโปรเซสต้องการความสนใจ cmux จะแสดงวงแหวนแจ้งเตือนรอบพาเนล, badge ที่ยังไม่ได้อ่านในแถบข้าง, ป็อปโอเวอร์แจ้งเตือน และการแจ้งเตือนบนเดสก์ท็อป macOS สิ่งเหล่านี้ทำงานอัตโนมัติผ่าน terminal escape sequence มาตรฐาน (OSC 9/99/777) หรือคุณสามารถเรียกใช้ผ่าน <cliLink>cmux CLI</cliLink> และ <hooksLink>Claude Code hooks</hooksLink>",
|
||
"faqShortcutsQ": "ปรับแต่งคีย์ลัดได้ไหม?",
|
||
"faqShortcutsA": "การตั้งค่าคีย์ของเทอร์มินัลอ่านจากไฟล์คอนฟิก Ghostty (<configPath>~/.config/ghostty/config</configPath>) คีย์ลัดเฉพาะของ cmux (workspace, แยกหน้าจอ, เบราว์เซอร์, แจ้งเตือน) ปรับแต่งได้ในการตั้งค่า ดู<link>คีย์ลัดเริ่มต้น</link>สำหรับรายการทั้งหมด",
|
||
"faqTmuxQ": "เปรียบเทียบกับ tmux อย่างไร?",
|
||
"faqTmuxA": "tmux เป็น terminal multiplexer ที่รันภายในเทอร์มินัลใดก็ได้ cmux เป็นแอป macOS เนทีฟที่มี GUI: แท็บแนวตั้ง, แยกหน้าจอ, เบราว์เซอร์ในตัว และ socket API ทั้งหมดมีมาให้ ไม่ต้องมีไฟล์คอนฟิกหรือ prefix key",
|
||
"faqFreeQ": "cmux ฟรีไหม?",
|
||
"faqFreeA": "ใช่ cmux ใช้งานฟรี ซอร์สโค้ดอยู่บน <link>GitHub</link>"
|
||
},
|
||
"community": {
|
||
"title": "ชุมชน",
|
||
"description": "เชื่อมต่อกับผู้ใช้ cmux คนอื่นๆ และทีมงานเบื้องหลัง",
|
||
"discord": "Discord",
|
||
"discordAction": "เข้าร่วม Discord ของเรา",
|
||
"discordDesc": "พูดคุยกับชุมชน ขอความช่วยเหลือ และแชร์ความคิดเห็น",
|
||
"githubAction": "ดูบน GitHub",
|
||
"githubDesc": "กดดาว repo, รายงานปัญหา และมีส่วนร่วม",
|
||
"twitter": "Twitter",
|
||
"twitterAction": "ติดตามบน X",
|
||
"twitterDesc": "อัปเดต ประกาศ และเคล็ดลับ",
|
||
"youtube": "YouTube",
|
||
"youtubeAction": "สมัครสมาชิก",
|
||
"youtubeDesc": "สาธิต บทเรียน และ walkthrough",
|
||
"linkedin": "LinkedIn",
|
||
"linkedinAction": "ติดตามเรา",
|
||
"linkedinDesc": "ข่าวบริษัทและอัปเดตด้านวิศวกรรม",
|
||
"metaTitle": "ชุมชน — cmux",
|
||
"metaDescription": "เข้าร่วมชุมชน cmux บน Discord, Twitter, GitHub และอื่นๆ"
|
||
},
|
||
"blog": {
|
||
"title": "บล็อก",
|
||
"layoutTitle": "cmux blog",
|
||
"metaTitle": "บล็อก",
|
||
"metaDescription": "ข่าวสารและอัปเดตจากทีม cmux",
|
||
"description": "ข่าวสารและอัปเดตจากทีม cmux",
|
||
"posts": {
|
||
"cmdShiftU": {
|
||
"title": "Cmd+Shift+U",
|
||
"summary": "Cmd+Shift+U นำทางระหว่าง agent ที่ทำงานเสร็จแล้วข้าม workspace ใน cmux ได้อย่างไร",
|
||
"date": "4 มีนาคม 2026",
|
||
"p1": "ฟีเจอร์ cmux ที่ผมชอบที่สุดคือ Cmd+Shift+U ตอนนี้ผมเปิด 17 workspace แต่ละอันรัน agent อยู่ ก่อนหน้านี้ผมต้องคลิกผ่านแท็บและแผงแจ้งเตือนเพื่อดูว่าอันไหนเสร็จแล้ว การพิมพ์เร็วกว่า",
|
||
"p2": "Cmd+Shift+U กระโดดไปที่<link>การแจ้งเตือน</link>ที่ยังไม่ได้อ่านล่าสุด ในทางปฏิบัติหมายถึง agent ตัวล่าสุดที่ทำงานเสร็จ มันจะสลับไป workspace ที่ถูกต้อง, โฟกัสพาเนลที่แน่นอน, กระพริบให้เห็นว่าต้องดูตรงไหน และทำเครื่องหมายว่าอ่านแล้ว ถ้าการแจ้งเตือนมาจากหน้าต่างอื่น หน้าต่างนั้นจะถูกนำมาด้านหน้า"
|
||
},
|
||
"zenOfCmux": {
|
||
"title": "The Zen of cmux",
|
||
"summary": "cmux เป็นชิ้นส่วนพื้นฐาน ไม่ใช่โซลูชัน มันให้ชิ้นส่วนที่ประกอบกันได้ และ workflow เป็นเรื่องของคุณ",
|
||
"date": "27 กุมภาพันธ์ 2026",
|
||
"p1": "cmux ไม่ได้กำหนดว่านักพัฒนาจะต้องใช้เครื่องมืออย่างไร มันเป็นเทอร์มินัลและเบราว์เซอร์พร้อม CLI ที่เหลือเป็นเรื่องของคุณ",
|
||
"p2": "cmux เป็นชิ้นส่วนพื้นฐาน ไม่ใช่โซลูชัน มันให้เทอร์มินัล, เบราว์เซอร์, แจ้งเตือน, workspace, แยกหน้าจอ, แท็บ และ CLI เพื่อควบคุมทั้งหมด cmux ไม่บังคับให้คุณใช้ coding agent แบบที่มีความเห็นตายตัว สิ่งที่คุณสร้างจากชิ้นส่วนพื้นฐานเป็นของคุณ",
|
||
"p3": "นักพัฒนาที่ดีที่สุดสร้างเครื่องมือของตัวเองมาตลอด ยังไม่มีใครค้นพบวิธีที่ดีที่สุดในการทำงานกับ agent และทีมที่สร้างผลิตภัณฑ์ปิดก็ยังไม่พบเช่นกัน นักพัฒนาที่ใกล้ชิดกับ codebase ของตัวเองมากที่สุดจะเป็นคนค้นพบก่อน",
|
||
"p4": "ให้ชิ้นส่วนพื้นฐานที่ประกอบกันได้แก่นักพัฒนาล้านคน แล้วพวกเขาจะร่วมกันค้นพบ workflow ที่มีประสิทธิภาพที่สุดเร็วกว่าทีมผลิตภัณฑ์ใดจะออกแบบจากบนลงล่างได้"
|
||
},
|
||
"showHnLaunch": {
|
||
"title": "เปิดตัว cmux บน Show HN",
|
||
"summary": "cmux ขึ้นอันดับ 2 บน Hacker News, ถูกแชร์โดย Mitchell Hashimoto และกลายเป็นไวรัลในญี่ปุ่น",
|
||
"date": "21 กุมภาพันธ์ 2026",
|
||
"intro": "เราโพสต์ cmux บน <link>Show HN</link> เมื่อ 19 ก.พ.:",
|
||
"blockquote1": "ผมรัน Claude Code และ Codex หลายเซสชันพร้อมกัน ก่อนหน้านี้ใช้ Ghostty กับแยกหน้าจอหลายอัน และพึ่งพาการแจ้งเตือน macOS เนทีฟเพื่อรู้ว่า agent ตัวไหนต้องการผม แต่เนื้อหาแจ้งเตือนของ Claude Code มีแค่ \"Claude is waiting for your input\" โดยไม่มีบริบท และเมื่อเปิดแท็บมากพอ ผมอ่านชื่อแท็บไม่ได้อีกแล้ว",
|
||
"blockquote2": "ผมลอง coding orchestrator หลายตัวแต่ส่วนใหญ่เป็นแอป Electron/Tauri และประสิทธิภาพทำให้ผมรำคาญ ผมยังชอบเทอร์มินัลมากกว่าเพราะ GUI orchestrator ล็อคคุณเข้ากับ workflow ของมัน ดังนั้นผมจึงสร้าง cmux เป็นแอป macOS เนทีฟใน Swift/AppKit ใช้ libghostty สำหรับการเรนเดอร์เทอร์มินัลและอ่านคอนฟิก Ghostty ที่มีอยู่สำหรับธีม, ฟอนต์, สี และอื่นๆ",
|
||
"blockquote3": "สิ่งที่เพิ่มเข้ามาหลักๆ คือแถบข้างและระบบแจ้งเตือน แถบข้างมีแท็บแนวตั้งที่แสดง git branch, working directory, port ที่กำลัง listen และข้อความแจ้งเตือนล่าสุดของแต่ละ workspace ระบบแจ้งเตือนรับ terminal sequence (OSC 9/99/777) และมี CLI (cmux notify) ที่คุณต่อเข้ากับ agent hook สำหรับ Claude Code, OpenCode ฯลฯ ได้ เมื่อ agent กำลังรอ พาเนลของมันจะมีวงแหวนสีน้ำเงินและแท็บจะสว่างในแถบข้าง ผมจึงบอกได้ว่าอันไหนต้องการผมข้ามแยกหน้าจอและแท็บ Cmd+Shift+U กระโดดไปที่แจ้งเตือนที่ยังไม่ได้อ่านล่าสุด",
|
||
"blockquote4": "เบราว์เซอร์ในแอปมี API ที่เขียนสคริปต์ได้ Agent สามารถ snapshot accessibility tree, รับ element ref, คลิก, กรอกฟอร์ม, evaluate JS และอ่าน console log คุณสามารถแยกเบราว์เซอร์ข้างเทอร์มินัลและให้ Claude Code โต้ตอบกับ dev server ของคุณโดยตรง",
|
||
"blockquote5": "ทุกอย่างเขียนสคริปต์ได้ผ่าน CLI และ socket API: สร้าง workspace/แท็บ, แยกหน้าจอ, ส่งการกดปุ่ม, เปิด URL ในเบราว์เซอร์",
|
||
"hitNumber2": "ตอนที่ขึ้นสูงสุด มันขึ้นอันดับ 2 บน Hacker News Mitchell Hashimoto แชร์มัน:",
|
||
"favoriteComment": "คอมเมนต์ที่ผมชอบที่สุดจาก<link>กระทู้ HN</link>:",
|
||
"viralJapan": "อย่างไม่คาดคิด cmux กลายเป็นไวรัลในญี่ปุ่น:",
|
||
"translation": "คำแปล: \"ดูดีนะ แอปเทอร์มินัลที่สร้างบน Ghostty ออกแบบมาเพื่อไม่ให้หลงทางเมื่อรัน CLI หลายตัวอย่าง Claude Code พร้อมกัน แผงที่รอ input จะมีกรอบสีน้ำเงิน และมีระบบแจ้งเตือนของตัวเอง\"",
|
||
"viralChina": "และกึ่งไวรัลในจีน:",
|
||
"extensions": "อีกสิ่งที่น่าตื่นเต้นคือเห็นคนสร้างสิ่งต่างๆ บน cmux CLI sasha สร้างส่วนขยาย pi-cmux ที่แสดงข้อมูลโมเดล, การใช้โทเค็น และสถานะ agent ในแถบข้าง:",
|
||
"scriptable": "ทุกอย่างใน cmux เขียนสคริปต์ได้ผ่าน CLI: สร้าง workspace, ส่งการกดปุ่ม, ควบคุมเบราว์เซอร์, อ่านการแจ้งเตือน ส่วนหนึ่งของปรัชญา cmux คือการเขียนโปรแกรมได้และประกอบกันได้ เพื่อให้คนปรับแต่งวิธีทำงานกับ coding agent ได้ สถานะของ coding agent เปลี่ยนแปลงเร็ว และคุณไม่อยากถูกล็อคอยู่กับ GUI orchestrator ที่ไม่ยืดหยุ่นซึ่งตามไม่ทัน",
|
||
"cta": "ถ้าคุณรัน coding agent หลายตัว <link>ลองใช้ cmux ดู</link>"
|
||
},
|
||
"introducingCmux": {
|
||
"title": "แนะนำ cmux",
|
||
"summary": "เทอร์มินัล macOS เนทีฟที่สร้างบน Ghostty ออกแบบมาเพื่อรัน AI coding agent หลายตัวพร้อมกัน",
|
||
"date": "12 กุมภาพันธ์ 2026",
|
||
"p1": "cmux เป็นแอปพลิเคชันเทอร์มินัล macOS เนทีฟที่สร้างบน Ghostty ออกแบบมาตั้งแต่ต้นสำหรับนักพัฒนาที่รัน AI coding agent หลายตัวพร้อมกัน",
|
||
"whyTitle": "ทำไมต้อง cmux?",
|
||
"whyP": "Workflow การพัฒนาสมัยใหม่มักต้องรัน agent หลายตัวพร้อมกัน Claude Code, Codex และเครื่องมืออื่นๆ แต่ละตัวในเทอร์มินัลของตัวเอง การติดตามว่าตัวไหนต้องการความสนใจและสลับระหว่างพวกมันอย่างรวดเร็วคือปัญหาที่ cmux แก้ไข",
|
||
"featuresTitle": "ฟีเจอร์หลัก",
|
||
"getStartedTitle": "เริ่มต้นใช้งาน",
|
||
"getStartedP": "ติดตั้ง cmux ผ่าน Homebrew หรือดาวน์โหลด DMG จาก<link>คู่มือเริ่มต้นใช้งาน</link>",
|
||
"featureVerticalTabsLabel": "แท็บแนวตั้ง",
|
||
"featureVerticalTabsDesc": "ดูเทอร์มินัลทั้งหมดได้ในแถบข้าง",
|
||
"featureNotificationsLabel": "วงแหวนแจ้งเตือน",
|
||
"featureNotificationsDesc": "แท็บกระพริบเมื่อ agent ต้องการ input ของคุณ",
|
||
"featureSplitPanesLabel": "แยกหน้าจอ",
|
||
"featureSplitPanesDesc": "แยกแนวนอนและแนวตั้งภายในแต่ละ workspace",
|
||
"featureSocketApiLabel": "Socket API",
|
||
"featureSocketApiDesc": "ควบคุมแบบโปรแกรมเพื่อสร้างแท็บและส่ง input",
|
||
"featureGpuLabel": "เร่งความเร็วด้วย GPU",
|
||
"featureGpuDesc": "ขับเคลื่อนด้วย libghostty เพื่อการเรนเดอร์ที่ลื่นไหล"
|
||
}
|
||
},
|
||
"zenOfCmux": {
|
||
"metaTitle": "เซนของ cmux",
|
||
"metaDescription": "cmux เป็นพื้นฐาน ไม่ใช่โซลูชัน ให้ชิ้นส่วนที่ประกอบได้และเวิร์กโฟลว์ขึ้นอยู่กับคุณ"
|
||
},
|
||
"cmdShiftU": {
|
||
"metaTitle": "Cmd+Shift+U",
|
||
"metaDescription": "ทางลัดคีย์บอร์ดใหม่ที่เปลี่ยนวิธีการโต้ตอบกับ cmux"
|
||
},
|
||
"showHnLaunch": {
|
||
"metaTitle": "เปิดตัว cmux บน Show HN",
|
||
"metaDescription": "เรื่องราวการเปิดตัว cmux บน Hacker News"
|
||
},
|
||
"introducingCmux": {
|
||
"metaTitle": "แนะนำ cmux",
|
||
"metaDescription": "ทำไมเราถึงสร้าง cmux เทอร์มินัลใหม่สำหรับ macOS"
|
||
}
|
||
},
|
||
"docs": {
|
||
"layoutTitle": "cmux docs",
|
||
"gettingStarted": {
|
||
"title": "เริ่มต้นใช้งาน",
|
||
"metaDescription": "ติดตั้ง cmux เทอร์มินัล macOS เนทีฟสำหรับ AI coding agent ดาวน์โหลด Homebrew, DMG, ตั้งค่า CLI และอัปเดตอัตโนมัติผ่าน Sparkle",
|
||
"intro": "cmux เป็นเทอร์มินัล macOS เนทีฟที่เบาสร้างบน Ghostty สำหรับจัดการ AI coding agent หลายตัว มีแท็บแนวตั้ง, แผงแจ้งเตือน และ API ควบคุมผ่าน socket",
|
||
"install": "ติดตั้ง",
|
||
"dmgRecommended": "DMG (แนะนำ)",
|
||
"dmgDesc": "เปิด .dmg แล้วลาก cmux ไปที่โฟลเดอร์ Applications cmux อัปเดตอัตโนมัติผ่าน Sparkle คุณจึงต้องดาวน์โหลดแค่ครั้งเดียว",
|
||
"homebrew": "Homebrew",
|
||
"updateLater": "อัปเดตภายหลัง:",
|
||
"firstLaunchCallout": "เมื่อเปิดครั้งแรก macOS อาจขอให้คุณยืนยันการเปิดแอปจากนักพัฒนาที่ระบุตัวตนแล้ว คลิก <strong>เปิด</strong> เพื่อดำเนินการต่อ",
|
||
"verifyTitle": "ยืนยันการติดตั้ง",
|
||
"verifyDesc": "เปิด cmux แล้วคุณจะเห็น:",
|
||
"verifyItem1": "หน้าต่างเทอร์มินัลที่มีแถบข้างแท็บแนวตั้งทางซ้าย",
|
||
"verifyItem2": "workspace เริ่มต้นหนึ่งอันเปิดอยู่แล้ว",
|
||
"verifyItem3": "เทอร์มินัลที่ขับเคลื่อนด้วย Ghostty พร้อมรับ input",
|
||
"cliSetup": "ตั้งค่า CLI",
|
||
"cliDesc": "cmux มีเครื่องมือ command-line สำหรับระบบอัตโนมัติ ภายในเทอร์มินัล cmux มันทำงานอัตโนมัติ หากต้องการใช้ CLI จากนอก cmux ให้สร้าง symlink:",
|
||
"cliThen": "จากนั้นคุณสามารถรันคำสั่งเช่น:",
|
||
"autoUpdates": "อัปเดตอัตโนมัติ",
|
||
"autoUpdatesDesc": "cmux ตรวจสอบอัปเดตอัตโนมัติผ่าน Sparkle เมื่อมีอัปเดต คุณจะเห็นปุ่มอัปเดตใน titlebar คุณยังตรวจสอบด้วยตัวเองได้ผ่าน cmux > Check for Updates ในแถบเมนู",
|
||
"sessionRestore": "การกู้คืนเซสชัน (พฤติกรรมปัจจุบัน)",
|
||
"sessionRestoreDesc": "หลังจากเปิดใหม่ cmux กู้คืน layout และ metadata เท่านั้น:",
|
||
"sessionItem1": "Layout ของหน้าต่าง, workspace และพาเนล",
|
||
"sessionItem2": "Working directory",
|
||
"sessionItem3": "Terminal scrollback (พยายามอย่างดีที่สุด)",
|
||
"sessionItem4": "URL เบราว์เซอร์และประวัติการนำทาง",
|
||
"sessionCallout": "cmux ยังไม่กู้คืนสถานะโปรเซสที่กำลังทำงาน เซสชันแอปเทอร์มินัลที่ใช้งานอยู่เช่น Claude Code, tmux และ vim จะไม่ถูกกู้คืนหลังรีสตาร์ทแอป",
|
||
"requirements": "ความต้องการ",
|
||
"reqItem1": "macOS 14.0 หรือใหม่กว่า",
|
||
"reqItem2": "Apple Silicon หรือ Intel Mac",
|
||
"metaTitle": "เริ่มต้นใช้งาน"
|
||
},
|
||
"concepts": {
|
||
"title": "แนวคิด",
|
||
"metaDescription": "cmux จัดระเบียบเทอร์มินัลอย่างไร: หน้าต่าง, workspace, พาเนล และ surface ลำดับชั้นเบื้องหลังแถบข้าง, แยกหน้าจอ และ socket API",
|
||
"intro": "cmux จัดระเบียบเทอร์มินัลของคุณเป็นลำดับชั้น 4 ระดับ การเข้าใจระดับเหล่านี้ช่วยเมื่อใช้ socket API, CLI และคีย์ลัด",
|
||
"hierarchy": "ลำดับชั้น",
|
||
"windowTitle": "หน้าต่าง",
|
||
"windowDesc": "หน้าต่าง macOS เปิดหลายหน้าต่างด้วย {shortcut} แต่ละหน้าต่างมีแถบข้างของตัวเองพร้อม workspace อิสระ",
|
||
"workspaceTitle": "Workspace",
|
||
"workspaceDesc": "รายการในแถบข้าง แต่ละ workspace มีพาเนลแยกหน้าจอหนึ่งอันหรือมากกว่า Workspace คือสิ่งที่คุณเห็นในรายการแถบข้างซ้าย",
|
||
"workspaceNote": "ใน UI และคีย์ลัด workspace มักถูกเรียกว่า \"แท็บ\" เพราะมันทำหน้าที่เหมือนแท็บในแถบข้าง Socket API และตัวแปรสภาพแวดล้อมใช้คำว่า \"workspace\"",
|
||
"contextHeader": "บริบท",
|
||
"termUsedHeader": "คำที่ใช้",
|
||
"sidebarUI": "UI แถบข้าง",
|
||
"tab": "แท็บ",
|
||
"keyboardShortcuts": "คีย์ลัด",
|
||
"workspaceOrTab": "Workspace หรือแท็บ",
|
||
"socketAPI": "Socket API",
|
||
"environmentVariable": "ตัวแปรสภาพแวดล้อม",
|
||
"workspaceShortcuts": "คีย์ลัด: {new} (ใหม่), {jump} (กระโดด), {close} (ปิด), {prevNext} (ก่อนหน้า/ถัดไป)",
|
||
"paneTitle": "พาเนล",
|
||
"paneDesc": "พื้นที่แยกภายใน workspace สร้างโดยแยกด้วย {right} (ขวา) หรือ {down} (ล่าง) นำทางระหว่างพาเนลด้วย {nav} + ปุ่มลูกศร",
|
||
"paneNote": "แต่ละพาเนลสามารถมี surface หลายอัน (แท็บภายในพาเนล)",
|
||
"surfaceTitle": "Surface",
|
||
"surfaceDesc": "แท็บภายในพาเนล แต่ละพาเนลมี tab bar ของตัวเองและสามารถมี surface หลายอัน สร้างด้วย {new}, นำทางด้วย {prev} / {next} หรือ {jump}",
|
||
"surfaceNote": "Surface คือเซสชันเทอร์มินัลหรือเบราว์เซอร์ที่คุณโต้ตอบด้วย แต่ละ surface มีตัวแปรสภาพแวดล้อม CMUX_SURFACE_ID ของตัวเอง",
|
||
"panelTitle": "Panel",
|
||
"panelDesc": "เนื้อหาภายใน surface ปัจจุบันมีสองประเภท:",
|
||
"panelTerminal": "Terminal: เซสชันเทอร์มินัล Ghostty",
|
||
"panelBrowser": "Browser: embedded web view",
|
||
"panelNote": "Panel เป็นแนวคิดภายในเป็นหลัก ใน socket API และ CLI คุณโต้ตอบกับ surface มากกว่า panel โดยตรง",
|
||
"visualExample": "ตัวอย่างภาพ",
|
||
"visualExampleDesc": "ในตัวอย่างนี้:",
|
||
"visualItem1": "หน้าต่างมีแถบข้างที่มีสาม workspace (dev, server, logs)",
|
||
"visualItem2": "Workspace \"dev\" ถูกเลือก แสดงสองพาเนลเคียงข้างกัน",
|
||
"visualItem3": "พาเนล 1 มีสอง surface ([S1] และ [S2] ใน tab bar) โดย S1 เป็นตัวที่ใช้งานอยู่",
|
||
"visualItem4": "พาเนล 2 มี surface หนึ่งอัน",
|
||
"visualItem5": "แต่ละ surface มี panel (เทอร์มินัลในกรณีนี้)",
|
||
"summary": "สรุป",
|
||
"levelHeader": "ระดับ",
|
||
"whatItIsHeader": "คืออะไร",
|
||
"createdByHeader": "สร้างโดย",
|
||
"identifiedByHeader": "ระบุโดย",
|
||
"macosWindow": "หน้าต่าง macOS",
|
||
"sidebarEntry": "รายการในแถบข้าง",
|
||
"splitRegion": "พื้นที่แยก",
|
||
"tabWithinPane": "แท็บภายในพาเนล",
|
||
"terminalOrBrowser": "เทอร์มินัลหรือเบราว์เซอร์",
|
||
"automatic": "อัตโนมัติ",
|
||
"paneIdSocket": "Pane ID (socket API)",
|
||
"panelIdInternal": "Panel ID (ภายใน)",
|
||
"metaTitle": "แนวคิด"
|
||
},
|
||
"configuration": {
|
||
"title": "การตั้งค่า",
|
||
"metaDescription": "ตั้งค่า cmux ผ่านไฟล์คอนฟิก Ghostty ฟอนต์, ธีม, สี, สไตล์แยกหน้าจอ, scrollback และการตั้งค่าแอปสำหรับโหมดระบบอัตโนมัติ",
|
||
"intro": "cmux อ่านการตั้งค่าจากไฟล์คอนฟิก Ghostty ให้ตัวเลือกที่คุ้นเคยถ้าคุณมาจาก Ghostty",
|
||
"configLocations": "ตำแหน่งไฟล์คอนฟิก",
|
||
"configLocationsDesc": "cmux ค้นหาการตั้งค่าในตำแหน่งเหล่านี้ (ตามลำดับ):",
|
||
"createConfig": "สร้างไฟล์คอนฟิกถ้ายังไม่มี:",
|
||
"appearance": "รูปลักษณ์",
|
||
"font": "ฟอนต์",
|
||
"colors": "สี",
|
||
"splitPanes": "แยกหน้าจอ",
|
||
"behavior": "พฤติกรรม",
|
||
"scrollback": "Scrollback",
|
||
"workingDirectory": "Working directory",
|
||
"appSettings": "การตั้งค่าแอป",
|
||
"appSettingsDesc": "การตั้งค่าในแอปพร้อมใช้งานผ่าน cmux > Settings ({shortcut}):",
|
||
"themeMode": "โหมดธีม",
|
||
"themeSystem": "System: ตามรูปลักษณ์ macOS",
|
||
"themeLight": "Light: โหมดสว่างเสมอ",
|
||
"themeDark": "Dark: โหมดมืดเสมอ",
|
||
"automationMode": "โหมดระบบอัตโนมัติ",
|
||
"automationModeDesc": "ควบคุมระดับการเข้าถึง socket:",
|
||
"automationOff": "Off: ไม่มีการควบคุม socket (ปลอดภัยที่สุด)",
|
||
"automationCmux": "cmux processes only: อนุญาตเฉพาะโปรเซสที่เริ่มจากภายในเทอร์มินัล cmux เท่านั้น",
|
||
"automationAll": "allowAll: อนุญาตให้โปรเซสในเครื่องใดก็ได้เชื่อมต่อ (CMUX_SOCKET_MODE=allowAll, override ผ่าน env เท่านั้น)",
|
||
"automationCallout": "บนเครื่องที่ใช้ร่วมกัน ควรใช้โหมด \"Off\" หรือ \"cmux processes only\"",
|
||
"browserLinkBehavior": "พฤติกรรมลิงก์เบราว์เซอร์",
|
||
"browserLinkDesc": "ใน Settings > Browser cmux มีรายการ host สองรายการที่มีจุดประสงค์ต่างกัน:",
|
||
"browserHostsEmbed": "Hosts to Open in Embedded Browser: ใช้กับลิงก์ที่คลิกจากเอาต์พุตเทอร์มินัล Host ในรายการนี้เปิดใน cmux ส่วน host อื่นเปิดในเบราว์เซอร์เริ่มต้นของคุณ รองรับ host เดี่ยวหรือ wildcard ต่อบรรทัด (เช่น: example.com, *.internal.example)",
|
||
"browserHostsHttp": "HTTP Hosts Allowed in Embedded Browser: ใช้เฉพาะกับ URL แบบ HTTP (ไม่ใช่ HTTPS) Host ในรายการนี้เปิดใน cmux ได้โดยไม่มีข้อความเตือน ค่าเริ่มต้นรวม localhost, 127.0.0.1, ::1, 0.0.0.0 และ *.localtest.me",
|
||
"exampleConfig": "ตัวอย่างคอนฟิก",
|
||
"metaTitle": "การตั้งค่า"
|
||
},
|
||
"keyboardShortcuts": {
|
||
"title": "คีย์ลัด",
|
||
"description": "คีย์ลัดทั้งหมดใน cmux จัดกลุ่มตามหมวดหมู่",
|
||
"metaDescription": "คีย์ลัด cmux ทั้งหมดสำหรับ workspace, surface, แยกหน้าจอ, เบราว์เซอร์, แจ้งเตือน, ค้นหา และจัดการหน้าต่างบน macOS",
|
||
"searchPlaceholder": "ค้นหาทางลัด...",
|
||
"searchLabel": "ค้นหาทางลัดแป้นพิมพ์",
|
||
"noResults": "ไม่พบทางลัด",
|
||
"noResultsHint": "ลองใช้คำค้นหาอื่น",
|
||
"cat": {
|
||
"workspaces": "Workspace",
|
||
"workspacesBlurb": "Workspace อยู่ในแถบด้านข้าง Workspace แต่ละอันมีชุดพาเนลและ surface ของตัวเอง",
|
||
"surfaces": "Surface",
|
||
"surfacesBlurb": "Surface คือแท็บภายในพาเนล",
|
||
"splitPanes": "พาเนลแบ่ง",
|
||
"browser": "เบราว์เซอร์",
|
||
"notifications": "การแจ้งเตือน",
|
||
"find": "ค้นหา",
|
||
"terminal": "เทอร์มินัล",
|
||
"window": "หน้าต่าง"
|
||
},
|
||
"sc": {
|
||
"ws-new": "Workspace ใหม่",
|
||
"ws-jump-1-8": "ไปยัง workspace 1–8",
|
||
"ws-jump-last": "ไปยัง workspace สุดท้าย",
|
||
"ws-close": "ปิด workspace",
|
||
"ws-rename": "เปลี่ยนชื่อ workspace",
|
||
"sf-new": "Surface ใหม่",
|
||
"sf-prev-1": "Surface ก่อนหน้า",
|
||
"sf-prev-2": "Surface ก่อนหน้า",
|
||
"sf-jump-1-8": "ไปยัง surface 1–8",
|
||
"sf-jump-last": "ไปยัง surface สุดท้าย",
|
||
"sf-close": "ปิด surface",
|
||
"sp-right": "แบ่งขวา",
|
||
"sp-down": "แบ่งล่าง",
|
||
"sp-focus": "โฟกัสพาเนลตามทิศทาง",
|
||
"sp-browser-right": "แบ่งเบราว์เซอร์ขวา",
|
||
"sp-browser-down": "แบ่งเบราว์เซอร์ล่าง",
|
||
"br-open": "เปิด surface เบราว์เซอร์",
|
||
"br-addr": "โฟกัสแถบที่อยู่",
|
||
"br-forward": "ไปข้างหน้า",
|
||
"br-reload": "โหลดหน้าใหม่",
|
||
"br-devtools": "เปิดเครื่องมือนักพัฒนา",
|
||
"nt-panel": "แสดงแผงการแจ้งเตือน",
|
||
"nt-latest": "ไปยังที่ยังไม่ได้อ่านล่าสุด",
|
||
"nt-flash": "เรียกการกระพริบ",
|
||
"fd-find": "ค้นหา",
|
||
"fd-next-prev": "ค้นหาถัดไป / ก่อนหน้า",
|
||
"fd-hide": "ซ่อนแถบค้นหา",
|
||
"fd-selection": "ใช้ข้อความที่เลือกสำหรับค้นหา",
|
||
"tm-clear": "ล้างประวัติการเลื่อน",
|
||
"tm-copy": "คัดลอก (เมื่อเลือกข้อความ)",
|
||
"tm-paste": "วาง",
|
||
"tm-font": "เพิ่ม / ลดขนาดตัวอักษร",
|
||
"tm-reset": "รีเซ็ตขนาดตัวอักษร",
|
||
"wn-new": "หน้าต่างใหม่",
|
||
"wn-settings": "การตั้งค่า",
|
||
"wn-reload": "โหลดการตั้งค่าใหม่",
|
||
"wn-quit": "ออก"
|
||
},
|
||
"metaTitle": "ทางลัดคีย์บอร์ด"
|
||
},
|
||
"api": {
|
||
"title": "เอกสาร API",
|
||
"metaDescription": "เอกสาร cmux CLI และ Unix socket API การจัดการ workspace, แยกหน้าจอ, ควบคุม input, แจ้งเตือน, metadata แถบข้าง, ตัวแปรสภาพแวดล้อม และวิธีตรวจจับ",
|
||
"intro": "cmux มีทั้งเครื่องมือ CLI และ Unix socket สำหรับการควบคุมแบบโปรแกรม ทุกคำสั่งพร้อมใช้งานผ่านทั้งสองอินเทอร์เฟซ",
|
||
"socket": "Socket",
|
||
"buildHeader": "Build",
|
||
"pathHeader": "Path",
|
||
"release": "Release",
|
||
"debug": "Debug",
|
||
"taggedDebug": "Tagged debug build",
|
||
"socketOverride": "Override ด้วยตัวแปรสภาพแวดล้อม CMUX_SOCKET_PATH ส่ง JSON request ที่จบด้วย newline หนึ่งรายการต่อการเรียก:",
|
||
"socketCallout": "JSON socket request ต้องใช้ method และ params Legacy v1 JSON payload เช่น <legacy>'{'\"command\":\"...\"'}'</legacy> ไม่รองรับ",
|
||
"accessModes": "โหมดการเข้าถึง",
|
||
"modeHeader": "โหมด",
|
||
"descriptionHeader": "คำอธิบาย",
|
||
"howToEnableHeader": "วิธีเปิดใช้งาน",
|
||
"offMode": "ปิด socket",
|
||
"offEnable": "Settings UI หรือ CMUX_SOCKET_MODE=off",
|
||
"cmuxOnlyMode": "เฉพาะโปรเซสที่เกิดภายในเทอร์มินัล cmux เท่านั้นที่เชื่อมต่อได้",
|
||
"cmuxOnlyEnable": "โหมดเริ่มต้นใน Settings UI",
|
||
"allowAllMode": "อนุญาตให้โปรเซสในเครื่องใดก็ได้เชื่อมต่อ (ไม่ตรวจสอบ ancestry)",
|
||
"allowAllEnable": "Override ผ่าน environment เท่านั้น: CMUX_SOCKET_MODE=allowAll",
|
||
"accessCallout": "บนเครื่องที่ใช้ร่วมกัน ใช้ Off หรือ cmux processes only",
|
||
"cliOptions": "ตัวเลือก CLI",
|
||
"flagHeader": "Flag",
|
||
"customSocketPath": "กำหนด socket path เอง",
|
||
"outputJson": "แสดงผลในรูปแบบ JSON",
|
||
"targetWindow": "ระบุหน้าต่างเป้าหมาย",
|
||
"targetWorkspace": "ระบุ workspace เป้าหมาย",
|
||
"targetSurface": "ระบุ surface เป้าหมาย",
|
||
"idFormat": "ควบคุมรูปแบบ identifier ในเอาต์พุต JSON",
|
||
"workspaceCommands": "คำสั่ง workspace",
|
||
"listWorkspacesDesc": "แสดงรายการ workspace ที่เปิดอยู่ทั้งหมด",
|
||
"newWorkspaceDesc": "สร้าง workspace ใหม่",
|
||
"selectWorkspaceDesc": "สลับไปยัง workspace ที่ระบุ",
|
||
"currentWorkspaceDesc": "รับ workspace ที่ใช้งานอยู่ปัจจุบัน",
|
||
"closeWorkspaceDesc": "ปิด workspace",
|
||
"splitCommands": "คำสั่งแยกหน้าจอ",
|
||
"newSplitDesc": "สร้างพาเนลแยกใหม่ ทิศทาง: left, right, up, down",
|
||
"listSurfacesDesc": "แสดงรายการ surface ทั้งหมดใน workspace ปัจจุบัน",
|
||
"focusSurfaceDesc": "โฟกัส surface ที่ระบุ",
|
||
"inputCommands": "คำสั่ง input",
|
||
"sendDesc": "ส่งข้อความไปยังเทอร์มินัลที่โฟกัสอยู่",
|
||
"sendKeyDesc": "ส่งการกดปุ่ม คีย์: enter, tab, escape, backspace, delete, up, down, left, right",
|
||
"sendSurfaceDesc": "ส่งข้อความไปยัง surface ที่ระบุ",
|
||
"sendKeySurfaceDesc": "ส่งการกดปุ่มไปยัง surface ที่ระบุ",
|
||
"notificationCommands": "คำสั่งแจ้งเตือน",
|
||
"notifyDesc": "ส่งการแจ้งเตือน",
|
||
"listNotificationsDesc": "แสดงรายการแจ้งเตือนทั้งหมด",
|
||
"clearNotificationsDesc": "ล้างแจ้งเตือนทั้งหมด",
|
||
"sidebarMetadata": "คำสั่ง metadata แถบข้าง",
|
||
"sidebarMetadataDesc": "ตั้งค่า status pill, progress bar และรายการ log ในแถบข้างสำหรับ workspace ใดก็ได้ เหมาะสำหรับ build script, CI integration และ AI coding agent ที่ต้องการแสดงสถานะอย่างรวดเร็ว",
|
||
"setStatusDesc": "ตั้ง status pill ในแถบข้าง ใช้ key ที่ไม่ซ้ำเพื่อให้เครื่องมือต่างๆ จัดการรายการของตัวเองได้",
|
||
"clearStatusDesc": "ลบรายการ status ในแถบข้างตาม key",
|
||
"listStatusDesc": "แสดงรายการ status ทั้งหมดในแถบข้างสำหรับ workspace",
|
||
"setProgressDesc": "ตั้ง progress bar ในแถบข้าง (0.0 ถึง 1.0)",
|
||
"clearProgressDesc": "ล้าง progress bar ในแถบข้าง",
|
||
"logDesc": "เพิ่มรายการ log ในแถบข้าง ระดับ: info, progress, success, warning, error",
|
||
"clearLogDesc": "ล้างรายการ log ทั้งหมดในแถบข้าง",
|
||
"listLogDesc": "แสดงรายการ log ในแถบข้าง",
|
||
"sidebarStateDesc": "แสดง metadata แถบข้างทั้งหมด (cwd, git branch, port, status, progress, log)",
|
||
"utilityCommands": "คำสั่งยูทิลิตี้",
|
||
"pingDesc": "ตรวจสอบว่า cmux กำลังทำงานและตอบสนองอยู่",
|
||
"capabilitiesDesc": "แสดง socket method ที่พร้อมใช้งานและโหมดการเข้าถึงปัจจุบัน",
|
||
"identifyDesc": "แสดงบริบทหน้าต่าง/workspace/พาเนล/surface ที่โฟกัสอยู่",
|
||
"envVariables": "ตัวแปรสภาพแวดล้อม",
|
||
"variableHeader": "ตัวแปร",
|
||
"socketPathDesc": "Override socket path ที่ใช้โดย CLI และ integration",
|
||
"socketEnableDesc": "บังคับเปิด/ปิด socket (1/0, true/false, on/off)",
|
||
"socketModeDesc": "Override โหมดการเข้าถึง (cmuxOnly, allowAll, off) รับ cmux-only/cmux_only และ allow-all/allow_all ด้วย",
|
||
"workspaceIdDesc": "ตั้งอัตโนมัติ: workspace ID ปัจจุบัน",
|
||
"surfaceIdDesc": "ตั้งอัตโนมัติ: surface ID ปัจจุบัน",
|
||
"termProgramDesc": "ตั้งเป็น ghostty",
|
||
"termDesc": "ตั้งเป็น xterm-ghostty",
|
||
"envCallout": "ค่า CMUX_SOCKET_MODE แบบเก่า full และ notifications ยังรับได้เพื่อความเข้ากันได้",
|
||
"detectingCmux": "การตรวจจับ cmux",
|
||
"examples": "ตัวอย่าง",
|
||
"pythonClient": "Python client",
|
||
"shellScript": "Shell script",
|
||
"buildScriptNotification": "Build script พร้อมแจ้งเตือน",
|
||
"metaTitle": "เอกสาร API"
|
||
},
|
||
"notifications": {
|
||
"title": "การแจ้งเตือน",
|
||
"metaDescription": "ส่งการแจ้งเตือนเดสก์ท็อปจาก AI agent และสคริปต์ใน cmux CLI, OSC 99/777 escape sequence และการรวมกับ Claude Code hooks",
|
||
"intro": "cmux รองรับการแจ้งเตือนเดสก์ท็อป ช่วยให้ AI agent และสคริปต์แจ้งเตือนคุณเมื่อต้องการความสนใจ",
|
||
"lifecycle": "วงจรชีวิต",
|
||
"received": "ได้รับ: แจ้งเตือนปรากฏในแผง, แจ้งเตือนเดสก์ท็อปทำงาน (ถ้าไม่ถูกระงับ)",
|
||
"unread": "ยังไม่ได้อ่าน: แสดง badge บนแท็บ workspace",
|
||
"read": "อ่านแล้ว: ล้างเมื่อคุณดู workspace นั้น",
|
||
"cleared": "ล้างแล้ว: ลบออกจากแผง",
|
||
"suppression": "การระงับ",
|
||
"suppressionDesc": "แจ้งเตือนเดสก์ท็อปจะถูกระงับเมื่อ:",
|
||
"suppressItem1": "หน้าต่าง cmux ถูกโฟกัส",
|
||
"suppressItem2": "workspace ที่ส่งแจ้งเตือนกำลังทำงานอยู่",
|
||
"suppressItem3": "แผงแจ้งเตือนเปิดอยู่",
|
||
"notificationPanel": "แผงแจ้งเตือน",
|
||
"notificationPanelDesc": "กด <openShortcut>⌘⇧I</openShortcut> เพื่อเปิดแผงแจ้งเตือน คลิกที่แจ้งเตือนเพื่อกระโดดไป workspace นั้น กด <jumpShortcut>⌘⇧U</jumpShortcut> เพื่อกระโดดตรงไป workspace ที่มีแจ้งเตือนที่ยังไม่ได้อ่านล่าสุด",
|
||
"customCommand": "คำสั่งที่กำหนดเอง",
|
||
"customCommandDesc": "รัน shell command ทุกครั้งที่มีการตั้งเวลาแจ้งเตือน ตั้งค่าใน Settings > App > Notification Command คำสั่งรันผ่าน /bin/sh -c พร้อมตัวแปรสภาพแวดล้อมเหล่านี้:",
|
||
"customCommandNote": "คำสั่งทำงานอิสระจากตัวเลือกเสียงระบบ ตั้งตัวเลือกเป็น \"None\" เพื่อใช้เฉพาะคำสั่งที่กำหนดเอง หรือใช้ทั้งสองสำหรับเสียงระบบพร้อมกับ action ที่กำหนดเอง",
|
||
"sending": "การส่งแจ้งเตือน",
|
||
"cli": "CLI",
|
||
"osc777Title": "OSC 777 (แบบง่าย)",
|
||
"osc777Desc": "โปรโตคอล RXVT ใช้รูปแบบตายตัวพร้อมชื่อเรื่องและเนื้อหา:",
|
||
"osc99Title": "OSC 99 (แบบเต็ม)",
|
||
"osc99Desc": "โปรโตคอล Kitty รองรับ subtitle และ notification ID:",
|
||
"variableHeader": "ตัวแปร",
|
||
"descriptionHeader": "คำอธิบาย",
|
||
"envTitle": "ชื่อการแจ้งเตือน (ชื่อ workspace หรือชื่อแอป)",
|
||
"envSubtitle": "ชื่อรองของการแจ้งเตือน",
|
||
"envBody": "เนื้อหาการแจ้งเตือน",
|
||
"cmpTitleBody": "ชื่อ + เนื้อหา",
|
||
"cmpSubtitle": "ชื่อรอง",
|
||
"cmpNotificationId": "ID การแจ้งเตือน",
|
||
"cmpComplexity": "ความซับซ้อน",
|
||
"cmpYes": "ใช่",
|
||
"cmpNo": "ไม่",
|
||
"cmpHigher": "สูงกว่า",
|
||
"cmpLower": "ต่ำกว่า",
|
||
"featureHeader": "ฟีเจอร์",
|
||
"comparisonCallout": "ใช้ OSC 777 สำหรับแจ้งเตือนแบบง่าย ใช้ OSC 99 เมื่อต้องการ subtitle หรือ notification ID ใช้ CLI (cmux notify) สำหรับการรวมที่ง่ายที่สุด",
|
||
"claudeCodeHooks": "Claude Code hooks",
|
||
"claudeCodeHooksDesc": "cmux รวมกับ <link>Claude Code</link> ผ่าน hooks เพื่อแจ้งเตือนคุณเมื่อ task เสร็จ",
|
||
"createHookScript": "1. สร้าง hook script",
|
||
"configureClaude": "2. ตั้งค่า Claude Code",
|
||
"restartNote": "รีสตาร์ท Claude Code เพื่อใช้ hooks",
|
||
"integrationExamples": "ตัวอย่าง integration",
|
||
"notifyAfterLong": "แจ้งเตือนหลังคำสั่งที่ใช้เวลานาน",
|
||
"python": "Python",
|
||
"nodejs": "Node.js",
|
||
"tmuxPassthrough": "tmux passthrough",
|
||
"tmuxDesc": "ถ้าใช้ tmux ภายใน cmux ให้เปิด passthrough:",
|
||
"metaTitle": "การแจ้งเตือน"
|
||
},
|
||
"browserAutomation": {
|
||
"title": "Browser Automation",
|
||
"metaDescription": "เอกสารคำสั่ง cmux browser สำหรับ navigation, DOM interaction, waiting, inspection, JavaScript evaluation, แท็บ, dialog, frame, download และสถานะเบราว์เซอร์",
|
||
"intro": "กลุ่มคำสั่ง cmux browser ให้ browser automation กับ cmux browser surface ใช้สำหรับ navigate, โต้ตอบกับ DOM element, ตรวจสอบสถานะหน้าเว็บ, evaluate JavaScript และจัดการข้อมูลเซสชันเบราว์เซอร์",
|
||
"commandIndex": "ดัชนีคำสั่ง",
|
||
"categoryHeader": "หมวดหมู่",
|
||
"subcommandsHeader": "คำสั่งย่อย",
|
||
"navAndTargeting": "Navigation และ targeting",
|
||
"waiting": "Waiting",
|
||
"domInteraction": "DOM interaction",
|
||
"inspection": "Inspection",
|
||
"jsAndInjection": "JavaScript และ injection",
|
||
"framesDialogsDownloads": "Frame, dialog, download",
|
||
"stateAndSession": "State และข้อมูลเซสชัน",
|
||
"tabsAndLogs": "แท็บและ log",
|
||
"targetingSurface": "การ target browser surface",
|
||
"targetingDesc": "คำสั่งย่อยส่วนใหญ่ต้องการ target surface คุณสามารถส่งแบบ positional หรือด้วย --surface",
|
||
"navigation": "Navigation",
|
||
"waitingSection": "Waiting",
|
||
"waitingDesc": "ใช้ wait เพื่อบล็อกจนกว่า selector, ข้อความ, URL fragment, load state หรือเงื่อนไข JavaScript จะเป็นจริง",
|
||
"domSection": "DOM Interaction",
|
||
"domDesc": "Action ที่เปลี่ยนแปลงรองรับ --snapshot-after สำหรับการยืนยันอย่างรวดเร็วในสคริปต์",
|
||
"inspectionSection": "Inspection",
|
||
"inspectionDesc": "ใช้ structured getter สำหรับสคริปต์ และ snapshot/screenshot สำหรับการตรวจสอบโดยมนุษย์",
|
||
"jsSection": "JavaScript Eval และ Injection",
|
||
"stateSection": "State",
|
||
"stateDesc": "คำสั่งข้อมูลเซสชันครอบคลุม cookie, local/session storage และ browser state snapshot ทั้งหมด",
|
||
"tabsSection": "แท็บ",
|
||
"tabsDesc": "การดำเนินการแท็บเบราว์เซอร์แมปกับ browser surface ในกลุ่มแท็บเบราว์เซอร์ที่ใช้งานอยู่",
|
||
"consoleSection": "Console และ Error",
|
||
"dialogsSection": "Dialog",
|
||
"framesSection": "Frame",
|
||
"downloadsSection": "Download",
|
||
"commonPatterns": "รูปแบบทั่วไป",
|
||
"patternNavigate": "Navigate, wait, inspect",
|
||
"patternForm": "กรอกฟอร์มและยืนยันข้อความสำเร็จ",
|
||
"patternDebug": "จับ debug artifact เมื่อล้มเหลว",
|
||
"patternSession": "บันทึกและกู้คืนเซสชันเบราว์เซอร์",
|
||
"metaTitle": "ระบบอัตโนมัติของเบราว์เซอร์"
|
||
},
|
||
"changelog": {
|
||
"title": "Changelog",
|
||
"metaDescription": "บันทึกการอัปเดต cmux และประวัติเวอร์ชัน ฟีเจอร์ใหม่, แก้ไขบั๊ก และการเปลี่ยนแปลงสำหรับเทอร์มินัล macOS เนทีฟ",
|
||
"metaTitle": "บันทึกการเปลี่ยนแปลง"
|
||
},
|
||
"navItems": {
|
||
"gettingStarted": "เริ่มต้นใช้งาน",
|
||
"concepts": "แนวคิด",
|
||
"configuration": "การตั้งค่า",
|
||
"keyboardShortcuts": "คีย์ลัด",
|
||
"apiReference": "เอกสาร API",
|
||
"browserAutomation": "Browser Automation",
|
||
"notifications": "การแจ้งเตือน",
|
||
"changelog": "Changelog"
|
||
}
|
||
},
|
||
"legal": {
|
||
"privacyPolicy": "นโยบายความเป็นส่วนตัว",
|
||
"termsOfService": "ข้อกำหนดการใช้บริการ",
|
||
"eula": "EULA"
|
||
},
|
||
"testimonials": {
|
||
"mitchellh": "อีกวันอีกโปรเจกต์ที่ใช้ libghostty คราวนี้เป็นเทอร์มินัล macOS ที่มีแท็บแนวตั้ง, การจัดระเบียบ/แจ้งเตือนที่ดีขึ้น, เบราว์เซอร์ในตัวที่เขียนสคริปต์ได้ โดยเฉพาะสำหรับคนที่ใช้ workflow แบบ agent บนเทอร์มินัลเยอะๆ",
|
||
"schrockn": "นี่คือผลิตภัณฑ์ที่ผมตามหาพอดีเลย หลังจากใช้สองชั่วโมงเมื่อเช้านี้ ผมหลงรักมันแล้ว",
|
||
"egrefen": "ผมใช้มันทั้งสุดสัปดาห์แล้ว มันเยี่ยมมาก",
|
||
"max4c": "นี่เป็นเครื่องมือที่ชอบที่สุดในช่วงสองสัปดาห์ที่ผ่านมา",
|
||
"asaza": "cmux ดูดีขนาดนี้ อาจถึงเวลาบอกลา VSCode แล้ว",
|
||
"johnthedebs": "เฮ้ นี่มันดูเจ๋งมากจริงๆ ชอบไอเดียที่นี่ โดยเฉพาะ: ความสามารถในการเขียนโปรแกรม, UI แบบเลเยอร์, เบราว์เซอร์พร้อม API รอลองใช้อยู่ อยากบอกด้วยว่าขอบคุณ Mitchell Hashimoto ที่สร้าง libghostty มาก รู้สึกว่านี่เป็นช่วงเวลาที่น่าตื่นเต้นสำหรับผู้ใช้เทอร์มินัล",
|
||
"joeriddles": "แท็บแนวตั้งในเทอร์มินัล! ไม่เคยคิดถึงเรื่องนี้มาก่อน ผมใช้และชอบแท็บแนวตั้งของ Firefox",
|
||
"dchu17": "ลองใช้แล้วค่อนข้างใช้ง่าย ทำได้ดี!",
|
||
"afruth": "ชอบเลย ใช้ในวันที่ผ่านมากับสามโปรเจกต์ที่ทำพร้อมกัน แต่ละโปรเจกต์มี worktree หลายอัน การมีสิ่งนี้คู่กับ lazygit และ yazi / nvim ทำให้ผมทำงานได้มากขึ้นกว่าปกติโดยไม่ต้องวิ่งไล่หลายหน้าต่าง ghostty / iTerm รู้สึกเป็นธรรมชาติกว่า tmux ด้วย",
|
||
"northprint": "ลอง cmux เพราะมันดูดี — มันดีจริง",
|
||
"indykish": "cmux ดีนะ",
|
||
"kataring": "ย้ายมาใช้ cmux.dev แล้ว",
|
||
"scottw": "นี่เป็นการค้นพบที่มีประโยชน์มาก แนะนำเลย",
|
||
"johnblythe": "โหลดมาเมื่อสุดสัปดาห์แล้วชอบมาก รอของแบบนี้มานานแล้ว",
|
||
"bchris91": "นี่คือสิ่งที่ผมต้องการเป๊ะเลย ทำได้ยอดเยี่ยม ขอบคุณ!",
|
||
"connorelsea": "ใช้มาสัปดาห์นึงแล้ว เยี่ยมมาก แท็บแนวตั้งสำหรับแต่ละงานที่ทำอยู่ ข้างในมี Claude อยู่ด้านนึงและเบราว์เซอร์กับ PR และทรัพยากรอยู่อีกด้าน สลับไปมาระหว่างงานได้อย่างเป็นระเบียบ ผสมกับ skills ให้ Claude คอยดู CI แบบ recursive ฯลฯ รู้สึกตาสว่างเลย",
|
||
"tonkotsuboy": "ผมเปลี่ยนจาก Warp มา Ghostty ตอนต้นปี แต่ตอนนี้เปลี่ยนมา cmux แล้ว แท็บแนวตั้งสะดวกดี และชอบที่แจ้งเตือนเมื่องาน Claude Code เสร็จ มันใช้ Ghostty เป็นฐานก็เลยเร็วเหมือนเดิม การแสดง branch และ completion ที่ตั้งไว้ใน Ghostty ก็ยังใช้ได้อยู่"
|
||
},
|
||
"nightly": {
|
||
"title": "cmux NIGHTLY",
|
||
"subtitle": "บิลด์ล่าสุดจาก main",
|
||
"metaTitle": "cmux NIGHTLY — บิลด์ Nightly",
|
||
"metaDescription": "ดาวน์โหลด cmux NIGHTLY แอปแยกที่สร้างอัตโนมัติจาก commit ล่าสุดบน main ทำงานควบคู่กับเวอร์ชันเสถียรพร้อมอัปเดตอัตโนมัติของตัวเอง",
|
||
"description": "cmux NIGHTLY สร้างอัตโนมัติจาก commit ล่าสุดบน main มี bundle ID เป็นของตัวเอง จึงทำงานควบคู่กับเวอร์ชันเสถียรได้โดยไม่ขัดแย้ง ใช้เพื่อทดสอบฟีเจอร์ใหม่ก่อนเปิดตัว",
|
||
"download": "ดาวน์โหลด NIGHTLY สำหรับ Mac",
|
||
"warning": "บิลด์ nightly อาจมีบั๊กหรือฟีเจอร์ที่ยังไม่สมบูรณ์ หากพบปัญหา รายงานบน <githubLink>GitHub</githubLink> หรือใน <discordLink>#nightly-bugs บน Discord</discordLink> แล้วสลับกลับไปใช้เวอร์ชันเสถียร"
|
||
},
|
||
"languageSwitcher": {
|
||
"label": "ภาษา"
|
||
},
|
||
"wallOfLove": {
|
||
"title": "กำแพงแห่งความรัก",
|
||
"description": "สิ่งที่ผู้คนพูดเกี่ยวกับ cmux"
|
||
}
|
||
}
|