ภาษา ธีม และการนำทาง · Language, theme & navigation
On this page
DevStack เริ่มจากชุมชนนักพัฒนาไทย เราจึงทำให้ NVX Stack Builder รองรับภาษาไทยและอังกฤษเต็มรูปแบบตั้งแต่วันแรก มีธีมดำ (ค่าเริ่มต้น) และธีมสว่าง มี command palette สำหรับคนที่ชอบใช้คีย์บอร์ด และมีหน้าเอกสารที่คุณกำลังอ่านอยู่นี้ หน้านี้เล่าวิธีใช้และเหตุผลของการออกแบบ
ภาษา (TH / EN)#
- ปุ่ม ภาษาไทย / English (ไอคอน Languages) บนแถบด้านบน สลับภาษาของทั้งแอปทันที ค่าถูกจำใน
localStorageคีย์nvx-langถ้ายังไม่เคยเลือก แอปจะใช้ภาษาไทยเมื่อภาษาของเบราว์เซอร์ (navigator.language) ขึ้นต้นด้วยthและใช้อังกฤษในกรณีอื่น - ข้อความ UI ทั้งหมดอยู่ใน
src/lib/i18n.tsส่วนเนื้อหาของเทมเพลตเป็นชนิดL10n({ en, th }) ที่ต้องมีทั้งสองภาษาเสมอ - ภาษาที่เลือกมีผลกับ: คำอธิบายขั้นตอน, หัวข้อใน
setup.sh/setup.ps1,README.mdที่ดาวน์โหลด และภาษาของคำตอบจาก AI agent (ส่งlangไปกับคำขอ) - คำสั่งและโค้ดเป็นภาษาอังกฤษเสมอ เพราะต้องรันได้จริง
- ฟอนต์ไทยคือ IBM Plex Sans Thai (ตั้งแต่ v0.2.0) หัวข้อภาษาไทยใช้ letter-spacing ปกติและ line-height สูงขึ้น เพื่อไม่ให้สระและวรรณยุกต์ชนกัน
ธีม (Dark / Light)#
- ธีมดำเป็นค่าเริ่มต้นสำหรับทุกคน ไม่ขึ้นกับการตั้งค่า OS (v0.1–v0.3 ใช้
prefers-color-schemeของ OS; เปลี่ยนใน v0.4, commit2210920, ตามความต้องการของเจ้าของที่อยากได้ลุคเครื่องมือนักพัฒนา) ปุ่มพระอาทิตย์/พระจันทร์สลับเป็นธีมสว่าง ค่าถูกจำในlocalStorageคีย์nvx-theme - เซิร์ฟเวอร์เรนเดอร์
<html class="dark">ไว้ก่อน และสคริปต์ pre-paint เล็ก ๆ ในlayout.tsxถอดคลาสออกเฉพาะเมื่อผู้ใช้เลือก light จึงไม่มีการกะพริบสี (flash) ตอนโหลด - ดีไซน์ v0.5 อ้างอิง developer.apple.com: พื้นดำ ตัวหนังสือใหญ่ ปุ่มทรงแคปซูล สีฟ้าใช้อย่างจำกัด และโลโก้เครื่องมือจริงเป็นไทล์ (ดู concepts/design-system.md)
- ผู้ใช้ที่ตั้ง prefers-reduced-motion จะได้แอนิเมชันเกือบเป็นศูนย์ และเคอร์เซอร์ในหน้าต่างโค้ดหยุดกะพริบ
Command palette#
- กด Ctrl + K (Windows/Linux) หรือ ⌘ + K (macOS) หรือคลิกช่อง "Search or jump to…"
- พิมพ์เพื่อค้นหา: หน้าต่าง ๆ (Home, Templates, Builder, Docs, Design system), เทมเพลตทุกตัว (เปิดหน้ารายละเอียดหรือเปิดในตัวสร้าง), ทุกหน้าในเอกสาร (กลุ่ม "Docs / เอกสาร") และ action สลับธีม/ภาษา
- ↑↓ เลื่อน, Enter เปิด, Esc ปิด
การนำทางบนมือถือ#
บนจอเล็ก เมนูจะยุบเป็นปุ่ม hamburger ที่เปิด sheet ด้านข้าง ในนั้นมีลิงก์ เอกสาร (Docs) ด้วย เราทดสอบทุกหน้าที่ความกว้าง 390px ว่าไม่มี horizontal scroll ทั้งภาษาไทยและอังกฤษ
หน้าเอกสาร (/docs)#
- เปิดได้จากเมนูด้านบน (เอกสาร / Docs), เมนู hamburger บนมือถือ หรือ command palette
- เดสก์ท็อปมี navigation drawer ด้านซ้ายแบ่งตามหมวด และ "ในหน้านี้" ด้านขวา บนมือถือกดปุ่มเมนูในแถบเอกสารเพื่อเปิด drawer
- กด
/เพื่อไปที่ช่องค้นหาในเอกสาร ค้นได้ทั้งไทยและอังกฤษ - ทุกหน้ามี คัดลอก Markdown, ดูไฟล์ดิบ (
.md) และปุ่มคัดลอกบนทุกบล็อกโค้ด รายละเอียดเบื้องหลังอยู่ที่ docs-site.md
อ้างอิง#
src/components/prefs.tsx, src/app/layout.tsx, src/components/header.tsx, src/components/command-palette.tsx, src/components/docs/docs-shell.tsx
Source: docs/user-guide/language-theme.md · /docs/user-guide/language-theme.md