โปรเจกต์แปลหลายภาษาสำหรับ Zed Editor - Zed-i18n
(github.com/LI-NA)ไม่ได้ทักทายกันผ่าน GeekNews มานานมากแล้วครับ
ในช่วงที่ VSCode ยิ่งอัปเดตก็ยิ่งมีแต่บั๊กเพิ่มขึ้นจนการใช้งานแย่ลง... ไม่นานมานี้ Zed Editor 1.0.0 ก็เปิดตัวออกมา และผมก็อยากลองใช้ด้วยตัวเองสักครั้ง แต่กลับพบว่ายังไม่รองรับหลายภาษาเลย
ด้วยโครงสร้างที่สตริง UI ทั้งหมดถูกใส่ไว้ตรง ๆ ในซอร์สโค้ด ทำให้หากจะรองรับหลายภาษาก็ต้องเปลี่ยนโครงสร้างทั้งหมด...!
ผมเลยลองมองหาโปรเจกต์ด้านการแปลหลายภาษา แต่สุดท้ายก็รู้สึกว่าโปรเจกต์เดิมแทบทั้งหมดเน้นภาษาจีนเป็นหลักและใช้วิธีแทนที่ด้วย regex จึงจำเป็นต้องมีโปรเจกต์ใหม่
Zed-i18n ใช้การวิเคราะห์ไวยากรณ์ด้วย Tree-Sitter บน Python แทน regex เพื่อดึงและแก้ไของค์ประกอบ UI ได้อย่างแม่นยำ และ
เพื่อให้แยกจาก Zed เดิมได้ชัดเจน ก็สามารถเปลี่ยน branding, ตำแหน่งติดตั้ง และเส้นทางการอัปเดตอัตโนมัติได้
ในทางปฏิบัติ กระบวนการทั้งหมดตั้งแต่การดึงองค์ประกอบ UI การตรวจสอบ ไปจนถึงการแปล ดำเนินการด้วย AI ทั้งหมด และด้วยเหตุนี้จึงสามารถลงทะเบียนคำแปลครบทั้ง 13 ภาษาได้ตั้งแต่แรก
ส่วนคุณภาพการแปลนั้น... ก็พยายามในแบบของตัวเอง เช่น ให้อ้างอิง official language pack ของ VSCode และใช้หลายโมเดลทั้งในการแปลและตรวจสอบ...!
อีกทั้งผมมองว่าการสร้างความน่าเชื่อถือเป็นเรื่องสำคัญ จึงตั้งค่าให้สามารถตรวจสอบทุกขั้นตอนได้ผ่าน Github Actions เพื่อความโปร่งใสของการบิลด์
ด้วยความที่มี runner สเปกสูงเกินเอกสารทางการให้มาอยู่มาก ก็เลยพอบิลด์ได้จริง
แน่นอนว่าปัญหาคือต้องใช้เวอร์ชันฟรีในการบิลด์ เลยใช้เวลาอย่างน้อยเกิน 10 ชั่วโมง
เพราะเวลาบิลด์นี่แหละ การตามเวอร์ชันล่าสุดจึงค่อนข้างหนักหนา.... พอทำ v1.2.5 เสร็จ ระหว่างนั้น v1.2.6 ก็ออกมาแล้ว T_T
อย่างไรก็ตาม ใครที่ใช้ Zed Editor อยู่ก็ลองเข้าไปดูกันได้
และหากใช้งานเป็นภาษาเกาหลีได้สะดวกแล้วเจอปัญหาอะไร ก็อยากให้ช่วยแชร์กันครับ!
2 ความคิดเห็น
สุดยอดมากเลยนะครับ/คะ สนใจเข้าร่วม Zed Guild ไหม?
ขอบคุณสำหรับคำชมครับ ตอนนี้ผมเพิ่งเริ่มรู้จัก Zed จึงยังมีหลายอย่างเกี่ยวกับคอมมูนิตี้ที่ผมยังไม่ค่อยทราบ...!
ผมก็ยังใช้ Rust ไม่เป็นด้วย เลยค่อนข้างระมัดระวังอยู่พอสมควรกับการเข้าไปร่วมมีส่วนร่วม/ช่วยพัฒนาในบ้านหลักหรือคอมมูนิตี้ของ Zed ^^;;
อย่างไรก็ตาม ถ้ามีโอกาส ผมจะลองเข้าไปดูในส่วนที่คุณบอกไว้ด้วยครับ!