จากโปรเจกต์เสริมสู่แอปแปลภาษา 108 ภาษา: ทำไมผมถึงสร้าง Traverba

ผมสร้างแอปแปลภาษาที่ทำงานบนโทรศัพท์ของคุณทั้งหมด ไม่มีคลาวด์ ไม่มีการเรียก API ไม่มีข้อมูลออกจากอุปกรณ์ 108 ภาษา พร้อมการแปลด้วยเสียง กล้อง หน้าจอ และการสนทนากลุ่มแบบออฟไลน์ผ่าน Bluetooth

มันเริ่มต้นเพราะผมหาสิ่งที่ต้องการไม่ได้ และมันกลายเป็นสิ่งที่ยิ่งใหญ่กว่าที่คาดไว้

ปัญหาที่พบ

ผมอาศัยอยู่ที่ฮ่องกง ชีวิตประจำวันของผมมีทั้งภาษากวางตุ้ง จีนกลาง อังกฤษ และบางครั้งก็ญี่ปุ่น ครอบครัวของแฟนพูดภาษากวางตุ้ง งานของผมเป็นภาษาอังกฤษ แบบฟอร์มราชการเป็นภาษาจีนตัวเต็ม เมนูร้านอาหารในย่านที่อยู่มักเป็นภาษาจีนตัวย่อหรือญี่ปุ่น

ผมลองแอปแปลภาษาทุกตัวในตลาด:

Google Translate ใช้งานได้ดีพอสมควรเมื่อออนไลน์ แต่คุณภาพตกฮวบเมื่อออฟไลน์ และมันรวมภาษากวางตุ้งไว้ใน "ภาษาจีน" ซึ่งใครที่พูดกวางตุ้งรู้ดีว่านั่นเหมือนกับการรวมโปรตุเกสเข้ากับ "สเปน" ทั้งสองใช้อักษรเหมือนกัน แต่การออกเสียง ไวยากรณ์ และคำศัพท์ต่างกันคนละเรื่อง

Pocketalk ราคา $323 และต้องใช้อินเทอร์เน็ตในการแปลทุกครั้ง ผมใช้มันบน MTR (รถไฟใต้ดินฮ่องกง) ไม่ได้เลยเพราะครึ่งหนึ่งของสถานีไม่มีสัญญาณ

Apple Translate มีการออกแบบที่สวยงามและประมวลผลบนอุปกรณ์ได้ดี แต่รองรับเพียงประมาณ 20 ภาษา ไม่มีกวางตุ้ง ในเมืองที่ 95% ของประชากรพูดกวางตุ้ง นั่นบอกทุกอย่างเกี่ยวกับการจัดลำดับความสำคัญภาษาของบริษัทเทคโนโลยีรายใหญ่

iTranslate ล็อกฟีเจอร์หลักไว้หลัง paywall $50/ปี DeepL ไม่มีแม้แต่เสียงหรือกล้อง

ไม่มีแอปไหนรับมือกับมื้อค่ำกับครอบครัวแฟนที่คนสลับระหว่างกวางตุ้ง จีนกลาง และอังกฤษกลางบทสนทนาได้ ไม่มีแอปไหนแปลข้อความเสียงกวางตุ้งที่ผมได้รับใน WhatsApp ได้ ไม่มีแอปไหนทำงานได้น่าเชื่อถือในพื้นที่ที่สัญญาณแย่

ผมจึงเริ่มสร้างมันขึ้นมาเอง

เวอร์ชันแรกห่วยมาก

ต้นแบบแรกเป็นแอป Flutter ที่มีโมเดล ASR ตัวเดียว (Whisper ทำงานบนอุปกรณ์ผ่าน sherpa-onnx) และการแปล NMT พื้นฐาน รองรับแค่ประมาณ 15 ภาษา การจดจำเสียงช้ามาก การแปลระดับปานกลาง UI ดูแย่

แต่มันทำงานออฟไลน์ได้ และข้อเท็จจริงเดียวนั้น ที่ผมสามารถแปลประโยคกวางตุ้งเป็นอังกฤษบนเครื่องบินโดยไม่มี WiFi ทำให้ผมสู้ต่อไป

กระต่ายหลุมลึกแห่งสถาปัตยกรรม

เมื่อคุณมุ่งมั่นกับ AI บนอุปกรณ์ คุณก็ตกลงไปในหลุมกระต่ายที่ลึกมาก

ASR (การจดจำเสียงพูด): โมเดลเดียวไม่รองรับทุกภาษา ผมลงเอยด้วยการส่งสามตัว: Parakeet (เพิ่มประสิทธิภาพสำหรับอังกฤษ บันเดิลมาให้), Whisper.cpp (รองรับหลายภาษากว้าง ดาวน์โหลดได้) และ Qwen3-ASR (เพิ่มประสิทธิภาพสำหรับ CJK ดาวน์โหลดได้) แอปจะเลือกโมเดลที่ดีที่สุดโดยอัตโนมัติตามภาษาต้นทาง

การแปล: โมเดล ML แบบดั้งเดิมครอบคลุม 61 คู่ภาษาที่มีทรัพยากรดี สำหรับอีก 47 ภาษาที่เหลือ (ยอรูบา อัมฮาริก ลาว พม่า และอื่นๆ) Gemma LLM แบบ quantized ที่รันในเครื่องจัดการการแปล นี่คือกุญแจสำคัญที่ทำให้จำนวนภาษาเพิ่มจาก 61 เป็น 108

OCR กล้อง: สองเอนจิน ML Kit สำหรับการจดจำเร็ว PaddleOCR สำหรับการจดจำละเอียดของอักษรซับซ้อน iOS ต้องการการเพิ่ม pods เฉพาะอักษรด้วยตนเองเพราะ Apple บันเดิลเฉพาะโมเดลละตินมาให้ นั่นใช้เวลาหนึ่งวันในการดีบักเพราะความล้มเหลวไม่มีข้อผิดพลาดใดๆ เลย

แชทกลุ่ม: Bluetooth mesh เชื่อมต่อได้สูงสุด 7 อุปกรณ์ แต่ละโทรศัพท์จัดการ ASR และการแปลของตัวเอง ข้อความกระจายไปยังทุกอุปกรณ์ ไม่มีเซิร์ฟเวอร์ประสานงานใดๆ

การจัดการหน่วยความจำ: ความท้าทายทางวิศวกรรมที่แท้จริง โมเดล ASR สามตัว โมเดลแปล LLM และเอนจิน OCR ไม่สามารถอยู่ใน RAM ของโทรศัพท์พร้อมกันได้ แอปมีตัววางแผนงบประมาณหน่วยความจำที่โหลดและนำโมเดลออกตามสิ่งที่ผู้ใช้กำลังทำอยู่ขณะนั้น

ตัวเลข

  • เวลาพัฒนา: ประมาณ 18 เดือนจาก commit แรกถึงการเปิดตัวบน App Store / Play Store
  • ภาษา: 108 ภาษา (61 ML แบบดั้งเดิม + 47 AI ผ่าน Gemma)
  • ภาษา ASR: 30 ภาษาพร้อมการจดจำเสียงพูดบนอุปกรณ์
  • ภาษา OCR: 92 ภาษาพร้อมการจดจำข้อความด้วยกล้อง
  • ขนาดแอป: ฐานประมาณ ~150MB + โมเดลที่ดาวน์โหลดได้
  • ราคา: แพ็กเกจฟรีพร้อมฟีเจอร์หลักทั้งหมด Premium $1.99/เดือน หรือ $19.99/ปี สำหรับแชทกลุ่ม การถอดความไฟล์ และสรุปการประชุม
  • ขนาดทีม: 1 คน

สิ่งที่ทำถูก

ความเป็นส่วนตัวในฐานะสถาปัตยกรรม ไม่ใช่นโยบาย "เราไม่แชร์ข้อมูลของคุณ" คือนโยบาย มันสามารถเปลี่ยนได้ "ข้อมูลของคุณไม่ออกจากโทรศัพท์เพราะไม่มีเซิร์ฟเวอร์" คือสถาปัตยกรรม มันไม่สามารถเปลี่ยนได้โดยไม่สร้างแอปใหม่ทั้งหมด ผู้ใช้เข้าใจความแตกต่างนี้โดยสัญชาตญาณ

ภาษากวางตุ้งในฐานะภาษาหลัก แอปแปลภาษาส่วนใหญ่ถือว่ากวางตุ้งเป็นแค่ภาษาจีนสำเนียงอื่น Traverba มีโมเดล ASR เฉพาะสำหรับกวางตุ้ง สิ่งนี้ได้รับการตอบรับอย่างดีจากผู้ใช้ในฮ่องกงและกวางตง ที่เบื่อหน่ายกับการถูกมองเป็นกลุ่มรอง

แพ็กเกจฟรีที่ใจกว้าง การแปลด้วยเสียง กล้อง หน้าจอ และข้อความล้วนฟรีและไม่จำกัด paywall ล็อกเฉพาะฟีเจอร์แชทกลุ่ม การถอดความไฟล์ และสรุปการประชุม นี่สำคัญมากเพราะคนที่ต้องการการแปลมากที่สุด ไม่ว่าจะเป็นผู้อพยพ นักเดินทางในที่แปลกหน้า นักเรียน มักไม่สามารถจ่ายค่าสมาชิก premium ได้

การออกแบบที่ออฟไลน์เป็นหลัก ทุกฟีเจอร์ทำงานได้โดยไม่มีอินเทอร์เน็ต อินเทอร์เน็ตไม่ใช่โหมดที่ด้อยกว่า ออฟไลน์คือโหมดหลัก นี่คือจุดแข็งที่มากกว่าการ "รองรับออฟไลน์ด้วย"

สิ่งที่ทำผิด

ประเมินอุปกรณ์ระดับต่ำต่ำกว่าความเป็นจริง การพัฒนาเกิดขึ้นบนโทรศัพท์ระดับ flagship ครั้งแรกที่ทดสอบบนโทรศัพท์ที่มี RAM 3GB ฟีเจอร์ครึ่งหนึ่งพัง การจัดการหน่วยความจำควรเป็นสิ่งแรกที่สร้าง ไม่ใช่สิ่งที่ต้องมาแก้ทีหลัง

กระบวนการรีวิว iOS Apple ปฏิเสธการส่งครั้งแรกเพราะไม่ได้ใช้งาน App Tracking Transparency (ATT) แม้ว่า Traverba จะไม่ติดตามผู้ใช้ แต่ AdMob SDK เป็นตัวกระตุ้นให้ต้องมี ATT การทำให้ ATT ทำงานถูกต้องผ่าน Flutter ด้วยการตั้งเวลาที่เหมาะสม (หลังแอปเปิด ก่อนโฆษณาเริ่ม) ใช้หลายรอบในการแก้ไข

ไม่เปิดตัวเร็วกว่านี้ ผมใช้เวลาหลายเดือนขัดเกลาฟีเจอร์ที่ผู้ใช้ไม่ได้ขอก่อนเปิดตัว feedback ที่ได้หลังเปิดตัวเกี่ยวกับเรื่องที่ต่างออกไปจากที่คาดไว้ทั้งหมด เปิดตัวเร็ว ฟัง ปรับปรุง ทุกคนพูดแบบนี้ แต่ผมก็ยังตกกับดักนี้อยู่ดี

โอกาสในตลาด

ตลาดการแปลมีมูลค่ามากกว่า $40 พันล้านและกำลังเติบโต แต่ถูกครอบงำโดยสองขั้วสุด:

  1. แอปคลาวด์ฟรี (Google Translate, Apple Translate) ที่ดีพอสำหรับคนส่วนใหญ่ แต่แลกด้วยความเป็นส่วนตัวและความน่าเชื่อถือแบบออฟไลน์
  2. อุปกรณ์ฮาร์ดแวร์ราคาแพง (Pocketalk $323, Timekettle $299, Vasco $350+) ที่ต้องใช้อินเทอร์เน็ตและแก้ปัญหาที่โทรศัพท์ของคุณสามารถแก้ได้อยู่แล้ว

ช่องว่างตรงกลาง แอปฟรี/ราคาประหยัดที่มีการประมวลผลบนอุปกรณ์เต็มรูปแบบที่ใช้งานได้จริง ยังว่างอยู่อย่างน่าแปลกใจ DeepL รองรับแค่ข้อความ iTranslate ล็อกฟีเจอร์หลักไว้หลัง paywall เครื่องมือแปลภาษา AI ส่วนใหญ่เป็น cloud-only

AI บนอุปกรณ์ผ่านเกณฑ์คุณภาพแล้ว โมเดลดีพอ โทรศัพท์เร็วพอ เฟรมเวิร์ก (CoreML, ONNX, sherpa-onnx, LiteRT) พร้อมพอ สิ่งที่ขาดคือคนที่จะสร้าง product layer ขึ้นมาบนนั้น

สิ่งที่กำลังจะมา

แผนงานทันที:

  • ภาษา ASR เพิ่มขึ้น 30 ภาษาเป็นจุดเริ่มต้นที่ดี แต่ภาษาชายขอบก็ต้องการการจดจำเสียงพูดด้วยเช่นกัน
  • การแปล LLM ที่ดีขึ้น Gemma 2B ทำได้ดี โมเดลใหม่ที่เล็กกว่าอาจดีกว่า สถาปัตยกรรมรองรับการสลับโมเดลโดยไม่ต้องเปลี่ยนแอป
  • การปรับแต่งสำหรับ iPad และแท็บเล็ต แอปทำงานบนแท็บเล็ตได้ แต่ UI ยังไม่ได้ปรับให้เหมาะกับหน้าจอที่ใหญ่กว่า
  • การเร่งความเร็ว Android Vulkan iOS มี Metal และ CoreML สำหรับการอนุมาน GPU เรื่องการเร่งความเร็ว GPU ของ Android (Vulkan ผ่าน whisper.cpp) ยังต้องการการพัฒนาอีกมาก

วิสัยทัศน์ที่ใหญ่กว่า: โลกที่ภาษาไม่ใช่อุปสรรคต่อการเชื่อมต่อระหว่างมนุษย์ และการทลายอุปสรรคนั้นไม่จำเป็นต้องมอบบทสนทนาส่วนตัวของคุณให้กับเซิร์ฟเวอร์ของบริษัทเทคโนโลยี

ถ้าคุณอ่านมาถึงตรงนี้ ลองใช้แอปดูสิ มันฟรี ผมอ่านทุก feedback ที่ได้รับ


Traverba พร้อมให้ดาวน์โหลดบน Google Play และ App Store ดูข้อมูลเพิ่มเติมที่ traverba.com คำถาม feedback หรือคำขอฟีเจอร์: [email protected]