Files
9router/public/i18n/literals/th.json
T
Rigel Ramadhani Waloni 1fd3132647 feat(ui): enhance model select modal UX and modal traffic lights (#1111)
* feat(model-select-modal): highlight added models and support bulk selection

- Add addedModelValues prop to highlight already-added models with primary color
- Sort models alphabetically per provider, with added models floated to top
- Replace green highlight with primary brand color (orange #E56A4A)
- Use check icon (10px) inline with model name instead of check_circle
- Replace Done button with info bar explaining click-to-toggle behavior
- Add ProviderIcon to provider group headers replacing colored dot
- Import ProviderIcon, remove unused Button import

* feat(cli-tools): wire addedModelValues, onDeselect, and auto-save to model select modals

- Pass selectedModels as addedModelValues to ModelSelectModal in OpenCode and Copilot cards
- Add onDeselect handler to remove model from list on second click
- Set closeOnSelect=false to allow bulk model selection
- Remove manual setModalOpen(false) from onSelect callbacks
- Add saveModels() silent auto-save triggered on modal close (OpenCodeToolCard)
- Use useRef to track latest selectedModels in closure-safe way

* feat(modal): functional traffic light close button with hover icon and tooltip

- Make red dot a clickable button that closes the modal
- Show ✕ icon inside red dot on hover via group-hover opacity transition
- Gray out yellow and green dots (cursor-not-allowed, no tooltip)
- Increase dot size from w-3 h-3 to w-4 h-4
- Add Tooltip with brand-matched color #FF5F56 on red dot
- Remove X close button from modal header

* feat(tooltip): add color prop for themed tooltip backgrounds

* feat(i18n): add translations for model select info bar and close tooltip

- Add 'Click to add, click again to remove. Changes are saved automatically.' to all 32 locales
- Add 'Close' translation to all 32 locales

* fix(ui): address code review feedback on modal UX and auto-save

- Modal: remove showCloseButton prop, use showTrafficLights for header
  condition, hide traffic lights on mobile (hidden md:flex), add mobile
  X button (md:hidden) with aria-label, add aria-label and title on
  traffic light close button
- OpenCodeToolCard: validate activeModel membership before saving —
  fallback to models[0] or empty string; clear/reassign activeModel
  on deselect when removed model was the active one
- CopilotToolCard: add useRef + selectedModelsRef, add saveModels()
  using /api/cli-tools/copilot-settings, wire auto-save on modal close
- ModelSelectModal: fix JSX formatting — separate info bar closing div
  from Search comment onto its own line
2026-05-15 09:21:24 +07:00

193 lines
14 KiB
JSON

{
"Cancel": "ยกเลิก",
"Delete": "ลบ",
"Edit": "แก้ไข",
"Save": "บันทึก",
"Close": "ปิด",
"Add": "เพิ่ม",
"Remove": "นำออก",
"Settings": "การตั้งค่า",
"Profile": "โปรไฟล์",
"Dashboard": "แดชบอร์ด",
"Logout": "ออกจากระบบ",
"Login": "เข้าสู่ระบบ",
"Providers": "ผู้ให้บริการ",
"Usage": "สถิติการใช้งาน",
"API Key": "คีย์ API",
"Connected": "เชื่อมต่อแล้ว",
"Disconnected": "ตัดการเชื่อมต่อ",
"Active": "ใช้งาน",
"Inactive": "ไม่ใช้งาน",
"Success": "สำเร็จ",
"Failed": "ล้มเหลว",
"Error": "ข้อผิดพลาด",
"Warning": "คำเตือน",
"Info": "ข้อมูล",
"Loading": "กำลังโหลด",
"Search": "ค้นหา",
"Filter": "ตัวกรอง",
"Sort": "เรียงลำดับ",
"Export": "ส่งออก",
"Import": "นำเข้า",
"Refresh": "รีเฟรช",
"Back": "ย้อนกลับ",
"Next": "ถัดไป",
"Previous": "ก่อนหน้า",
"Submit": "ส่ง",
"Confirm": "ยืนยัน",
"Yes": "ใช่",
"No": "ไม่",
"OK": "ตกลง",
"Apply": "ใช้",
"Reset": "รีเซ็ต",
"Clear": "ล้าง",
"Select": "เลือก",
"Upload": "อัพโหลด",
"Download": "ดาวน์โหลด",
"Copy": "คัดลอก",
"Paste": "วาง",
"Cut": "ตัด",
"Undo": "ยกเลิก",
"Redo": "ทำซ้ำ",
"Name": "ชื่อ",
"Description": "คำอธิบาย",
"Status": "สถานะ",
"Type": "ประเภท",
"Date": "วันที่",
"Time": "เวลา",
"Created": "สร้างแล้ว",
"Updated": "อัพเดตแล้ว",
"Actions": "การกระทำ",
"Details": "รายละเอียด",
"View": "ดู",
"New": "ใหม่",
"Total": "ทั้งหมด",
"Count": "จำนวน",
"Price": "ราคา",
"Cost": "ต้นทุน",
"Free": "ฟรี",
"Paid": "จ่ายเงิน",
"Enable": "เปิดใช้งาน",
"Disable": "ปิดใช้งาน",
"Enabled": "เปิดใช้งานแล้ว",
"Disabled": "ปิดใช้งานแล้ว",
"Online": "ออนไลน์",
"Offline": "ออฟไลน์",
"Available": "พร้อมใช้งาน",
"Unavailable": "ไม่พร้อมใช้งาน",
"Required": "จำเป็น",
"Optional": "ไม่บังคับ",
"Default": "ค่าเริ่มต้น",
"Custom": "กำหนดเอง",
"Advanced": "ขั้นสูง",
"Basic": "พื้นฐาน",
"Help": "ช่วยเหลือ",
"Support": "สนับสนุน",
"Documentation": "เอกสาร",
"Version": "เวอร์ชัน",
"Language": "ภาษา",
"Theme": "ธีม",
"Light": "สว่าง",
"Dark": "มืด",
"Auto": "อัตโนมัติ",
"Endpoint": "จุดสิ้นสุด",
"Combos": "ชุดรวม",
"Quota Tracker": "ตัวติดตามโควต้า",
"MITM": "MITM",
"CLI Tools": "เครื่องมือ",
"Console Log": "บันทึกคอนโซล",
"System": "ระบบ",
"Debug": "ดีบัก",
"Shutdown": "ปิดระบบ",
"Close Proxy": "ปิด Proxy",
"Are you sure you want to close the proxy server?": "คุณแน่ใจหรือว่าต้องการปิดเซิร์ฟเวอร์ proxy?",
"Server Disconnected": "เซิร์ฟเวอร์ตัดการเชื่อมต่อ",
"The proxy server has been stopped.": "เซิร์ฟเวอร์ proxy ถูกหยุดแล้ว",
"Reload Page": "โหลดหน้าใหม่",
"Service is running in terminal. You can close this web page. Shutdown will stop the service.": "บริการกำลังทำงานในเทอร์มินัล คุณสามารถปิดหน้าเว็บนี้ได้ การปิดระบบจะหยุดบริการ",
"Manage your AI provider connections": "จัดการการเชื่อมต่อผู้ให้บริการ AI ของคุณ",
"Model combos with fallback": "ชุดรวมโมเดลที่มี fallback",
"Monitor your API usage, token consumption, and request logs": "ติดตามการใช้งาน API การใช้งาน token และบันทึกคำขอของคุณ",
"Intercept CLI tool traffic and route through 9Router": "สกัดปะท่อ CLI และเส้นทางผ่าน 9Router",
"Configure CLI tools": "กำหนดค่าเครื่องมือ CLI",
"API endpoint configuration": "การตั้งค่าจุดสิ้นสุด API",
"Manage your preferences": "จัดการการตั้งค่าของคุณ",
"Debug translation flow between formats": "ดีบักการไหลของการแปลระหว่างรูปแบบ",
"Live server console output": "ผลลัพธ์คอนโซลเซิร์ฟเวอร์สด",
"Create model combos with fallback support": "สร้างชุดรวมโมเดลที่มีการสนับสนุน fallback",
"Local Mode": "โหมดท้องถิ่น",
"Running on your machine": "ทำงานบนเครื่องของคุณ",
"Database Location": "ตำแหน่งของฐานข้อมูล",
"Download Backup": "ดาวน์โหลดการสำรองข้อมูล",
"Import Backup": "นำเข้าการสำรองข้อมูล",
"Database backup downloaded": "ดาวน์โหลดการสำรองข้อมูลฐานข้อมูลแล้ว",
"Database imported successfully": "นำเข้าฐานข้อมูลเสร็จสิ้น",
"Security": "ความปลอดภัย",
"Require login": "ต้องการการเข้าสู่ระบบ",
"When ON, dashboard requires password. When OFF, access without login.": "เมื่อเปิด แดชบอร์ดต้องการรหัสผ่าน เมื่อปิด เข้าถึงโดยไม่ต้องเข้าสู่ระบบ",
"Current Password": "รหัสผ่านปัจจุบัน",
"Enter current password": "ป้อนรหัสผ่านปัจจุบัน",
"New Password": "รหัสผ่านใหม่",
"Enter new password": "ป้อนรหัสผ่านใหม่",
"Confirm New Password": "ยืนยันรหัสผ่านใหม่",
"Confirm new password": "ยืนยันรหัสผ่านใหม่",
"Update Password": "อัพเดตรหัสผ่าน",
"Set Password": "ตั้งรหัสผ่าน",
"Password updated successfully": "อัพเดตรหัสผ่านเสร็จสิ้น",
"Passwords do not match": "รหัสผ่านไม่ตรงกัน",
"Routing Strategy": "กลยุทธ์การเส้นทาง",
"Round Robin": "โรบินรอบ",
"Cycle through accounts to distribute load": "วนรอบบัญชีเพื่อกระจายการโหลด",
"Sticky Limit": "ขีดจำกัดที่เหนียว",
"Calls per account before switching": "การโทรต่อบัญชีก่อนการสลับ",
"Network": "เครือข่าย",
"Outbound Proxy": "Proxy ขาออก",
"Enable proxy for OAuth + provider outbound requests.": "เปิดใช้งาน proxy สำหรับคำขอขาออก OAuth + ผู้ให้บริการ",
"Proxy URL": "URL Proxy",
"Leave empty to inherit existing env proxy (if any).": "ปล่อยว่างไว้เพื่อสืบทอด proxy env ที่มีอยู่ (หากมี)",
"No Proxy": "ไม่มี Proxy",
"Comma-separated hostnames/domains to bypass the proxy.": "ชื่อโฮสต์/โดเมนคั่นด้วยเครื่องหมายจุลภาค เพื่อข้าม proxy",
"Test proxy URL": "ทดสอบ URL Proxy",
"Proxy settings applied": "ใช้การตั้งค่า proxy แล้ว",
"Proxy enabled": "เปิดใช้งาน proxy",
"Proxy disabled": "ปิดใช้งาน proxy",
"Proxy test OK": "ทดสอบ proxy ตกลง",
"Proxy test failed": "ทดสอบ proxy ล้มเหลว",
"Please enter a Proxy URL to test": "กรุณาป้อน URL Proxy เพื่อทดสอบ",
"Observability": "ความสามารถในการสังเกต",
"Enable Observability": "เปิดใช้งานความสามารถในการสังเกต",
"Turn request detail recording on/off globally": "เปิด/ปิดการบันทึกรายละเอียดคำขอทั่วโลก",
"Max Records": "บันทึกสูงสุด",
"Maximum request detail records to keep (older records are auto-deleted)": "บันทึกรายละเอียดคำขอสูงสุดที่จะเก็บ (บันทึกเก่าจะลบโดยอัตโนมัติ)",
"Batch Size": "ขนาดแบตช์",
"Number of items to accumulate before writing to database (higher = better performance)": "จำนวนรายการที่จะรวบรวมก่อนเขียนลงฐานข้อมูล (สูงกว่า = ประสิทธิภาพดีกว่า)",
"Flush Interval (ms)": "ช่วงเวลาล้าง (ms)",
"Maximum time to wait before flushing buffer (prevents data loss during low traffic)": "เวลารอสูงสุดก่อนล้างบัฟเฟอร์ (ป้องกันการสูญหายข้อมูลในช่วงจราจรต่ำ)",
"Max JSON Size (KB)": "ขนาด JSON สูงสุด (KB)",
"Maximum size for each JSON field (request/response) before truncation": "ขนาดสูงสุดสำหรับแต่ละช่อง JSON (คำขอ/การตอบสนอง) ก่อนการตัดทอน",
"All data stored on your machine": "ข้อมูลทั้งหมดจัดเก็บไว้บนเครื่องของคุณ",
"MITM Server": "เซิร์ฟเวอร์ MITM",
"Running": "กำลังทำงาน",
"Stopped": "หยุดแล้ว",
"Cert": "ใบรับรอง",
"Server": "เซิร์ฟเวอร์",
"Purpose:": "วัตถุประสงค์:",
"Use Antigravity IDE & GitHub Copilot → with ANY provider/model from 9Router": "ใช้ Antigravity IDE & GitHub Copilot → ที่มีผู้ให้บริการ/โมเดลใด ๆ จาก 9Router",
"How it works:": "วิธีการทำงาน:",
"Antigravity/Copilot IDE request → DNS redirect to localhost:443 → MITM proxy intercepts → 9Router → response to Antigravity/Copilot": "คำขอ Antigravity/Copilot IDE → เปลี่ยนเส้นทาง DNS เป็น localhost:443 → MITM proxy สกัดปะท่อ → 9Router → ตอบสนอง Antigravity/Copilot",
"No API keys — create one in Keys page": "ไม่มีคีย์ API — สร้างคีย์ในหน้า Keys",
"sk_9router (default)": "sk_9router (ค่าเริ่มต้น)",
"Server started": "เซิร์ฟเวอร์เริ่มต้นแล้ว",
"Failed to start server": "ไม่สามารถเริ่มเซิร์ฟเวอร์",
"Server stopped — all DNS cleared": "หยุดเซิร์ฟเวอร์ — ล้าง DNS ทั้งหมด",
"Failed to stop server": "ไม่สามารถหยุดเซิร์ฟเวอร์",
"Sudo password is required": "ต้องการรหัสผ่าน sudo",
"Stop Server": "หยุดเซิร์ฟเวอร์",
"Start Server": "เริ่มเซิร์ฟเวอร์",
"Enable DNS per tool below to activate interception": "เปิดใช้งาน DNS สำหรับแต่ละเครื่องมือด้านล่างเพื่อเปิดใช้งานการสกัดปะท่อ",
"Sudo Password Required": "ต้องการรหัสผ่าน Sudo",
"Enter your sudo password to start/stop MITM server": "ป้อนรหัสผ่าน sudo ของคุณเพื่อเริ่ม/หยุดเซิร์ฟเวอร์ MITM",
"Sudo Password": "รหัสผ่าน Sudo",
"Click to add, click again to remove. Changes are saved automatically.": "คลิกเพื่อเพิ่ม คลิกอีกครั้งเพื่อลบ การเปลี่ยนแปลงจะถูกบันทึกโดยอัตโนมัติ"
}