Add multi-language support for UI
- Add 30 new locale files (ar, bn, cs, da, de, el, es, fi, fr, he, hi, hu, id, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ro, ru, sv, th, tl, tr, uk, ur, zh-TW)
- Update i18n config to register new languages
- Update LanguageSwitcher component to support expanded language list
- Update localDb and pricing constants for i18n compatibility
Made-with: Cursor
2026-03-16 22:30:07 -04:00
{
"Cancel" : "ยกเลิก" ,
"Delete" : "ลบ" ,
"Edit" : "แก้ไข" ,
"Save" : "บันทึก" ,
"Close" : "ปิด" ,
"Add" : "เพิ่ม" ,
"Remove" : "นำออก" ,
"Settings" : "การตั้งค่า" ,
"Profile" : "โปรไฟล์" ,
"Dashboard" : "แดชบอร์ด" ,
"Logout" : "ออกจากระบบ" ,
"Login" : "เข้าสู่ระบบ" ,
"Providers" : "ผู้ให้บริการ" ,
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-14 22:21:24 -04:00
"Usage" : "สถิติการใช้งาน" ,
Add multi-language support for UI
- Add 30 new locale files (ar, bn, cs, da, de, el, es, fi, fr, he, hi, hu, id, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ro, ru, sv, th, tl, tr, uk, ur, zh-TW)
- Update i18n config to register new languages
- Update LanguageSwitcher component to support expanded language list
- Update localDb and pricing constants for i18n compatibility
Made-with: Cursor
2026-03-16 22:30:07 -04:00
"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" ,
2026-05-16 00:02:33 -04:00
"Click to add, click again to remove. Changes are saved automatically." : "คลิกเพื่อเพิ่ม คลิกอีกครั้งเพื่อลบ การเปลี่ยนแปลงจะถูกบันทึกโดยอัตโนมัติ" ,
"⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk." : "⚠️ ประกาศความเสี่ยง: ผู้ให้บริการนี้ใช้เซสชันสมัครสมาชิก/OAuth ที่ไม่ได้รับอนุญาตอย่างเป็นทางการสำหรับการใช้งานพร็อกซี/เราเตอร์ บัญชีอาจถูกจำกัดหรือถูกแบน ใช้งานด้วยความเสี่ยงของคุณเอง"
Add multi-language support for UI
- Add 30 new locale files (ar, bn, cs, da, de, el, es, fi, fr, he, hi, hu, id, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ro, ru, sv, th, tl, tr, uk, ur, zh-TW)
- Update i18n config to register new languages
- Update LanguageSwitcher component to support expanded language list
- Update localDb and pricing constants for i18n compatibility
Made-with: Cursor
2026-03-16 22:30:07 -04:00
}