คู่ภาษาแต่ละคู่ต้องการโมเดลต้นทางและเป้าหมายอยู่บนอุปกรณ์ก่อนที่การแปลจะทำงานได้ โมเดลจะถูกดาวน์โหลดหนึ่งครั้ง คงอยู่ข้ามการรีสตาร์ทแอป และนำกลับมาใช้ใหม่สำหรับการแปลทุกครั้งของคู่นั้น หน้าดาวน์โหลดโมเดลแสดงรายการภาษาที่รองรับทั้ง 19 ภาษาพร้อมสถานะการดาวน์โหลดและให้คุณดาวน์โหลดหรือลบแต่ละภาษา
ทำไมต้องมีหน้าเฉพาะ
ML Kit ไม่ดาวน์โหลดโมเดลโดยอัตโนมัติ — คู่ภาษาแต่ละคู่ต้องการการดาวน์โหลดอย่างชัดเจนของต้นทางและเป้าหมาย หน้าดาวน์โหลดโมเดลแสดงสถานะนี้และอนุญาตให้ผู้ใช้จัดการโดยไม่ต้องเจาะลึกพื้นที่เก็บข้อมูลของแพลตฟอร์ม
สำหรับผู้ใช้ส่วนใหญ่ เวิร์กโฟลว์จะมองไม่เห็น: เลือกภาษาต้นทางและเป้าหมาย แอปจะดาวน์โหลดทั้งสองโมเดลตามความต้องการในครั้งแรกที่คุณแปล และโมเดลจะอยู่บนอุปกรณ์สำหรับการเรียกใช้ในภายหลัง หน้าเฉพาะมีไว้สำหรับผู้ใช้ที่ต้องการดาวน์โหลดล่วงหน้าสำหรับการเดินทางแบบออฟไลน์ ลบภาษาที่ไม่ต้องการใช้แล้ว หรือดูว่ามีอะไรใช้พื้นที่เก็บข้อมูลอยู่
สถานะของโมเดลต่อภาษา
- ยังไม่ได้ดาวน์โหลด แสดงปุ่มดาวน์โหลด แตะเพื่อเริ่มการดาวน์โหลด
- กำลังดาวน์โหลด แสดงสปินเนอร์ที่ไม่แน่นอน ML Kit ไม่เปิดเผยการเรียกกลับของความคืบหน้า เฉพาะการเสร็จสิ้น สปินเนอร์จะแก้ไขเป็น "ดาวน์โหลดแล้ว" หรือ "ล้มเหลว"
- ดาวน์โหลดแล้ว แสดงป้ายพร้อมปุ่มลบ แตะเพื่อลบโมเดลและเรียกคืนพื้นที่
- ล้มเหลว ปุ่มลองใหม่แทนที่ดาวน์โหลด สาเหตุทั่วไป: ไม่มีเครือข่าย เซลลูลาร์ถูกบล็อก พื้นที่ดิสก์เหลือน้อย ลองใหม่หลังจากแก้ไขสาเหตุพื้นฐาน
คิวดาวน์โหลดตามลำดับ
คำขอดาวน์โหลดหลายรายการในการเรียงต่อเนื่องที่รวดเร็วจะถูกจัดคิว ไม่ขนาน ปลั๊กอิน iOS ดั้งเดิมไม่จัดการการเรียก manageModel พร้อมกันอย่างสะอาด: คำขอที่สองจะยกเลิกคำขอแรก แอปจะทำการดาวน์โหลดตามลำดับผ่าน Future เดียวที่เชื่อมโยงเพื่อให้คำขอพร้อมกันถูกแก้ไขทีละรายการ UI แสดงเฉพาะการดาวน์โหลดที่ใช้งานอยู่ในสถานะที่ไม่แน่นอน คำขอที่อยู่ในคิวรอคิวของพวกเขา
การหมดเวลาและการสำรวจการดาวน์โหลด
หากพลาดการเรียกกลับการดาวน์โหลด (สังเกตเห็นบน iOS ในสภาวะเครือข่ายต่ำ) Future การดาวน์โหลดอาจค้าง แอปป้องกันตัวเองด้วยการหมดเวลา 30 วินาที หากการหมดเวลาเริ่มทำงาน แอปจะสำรวจดิสก์โดยตรงผ่าน isModelDownloaded เพื่อยืนยันว่าโมเดลลงจอดจริงหรือไม่ก่อนที่จะรายงานความสำเร็จหรือความล้มเหลว
ต้นทุนการจัดเก็บ
แต่ละโมเดล ML Kit มีขนาดประมาณ 10–50 MB บนดิสก์ การดาวน์โหลดทั้ง 19 ภาษาใช้พื้นที่ประมาณ 300–600 MB โมเดลสำหรับต้นทางและเป้าหมายของการแปลเดียวกันนั้นแยกจากกัน โมเดลเดียวสามารถทำหน้าที่เป็นต้นทางหรือเป้าหมายได้ขึ้นอยู่กับบทบาทที่ผู้ใช้เลือก
การลบโมเดลจะเรียกคืนพื้นที่ ไม่มีการล้างข้อมูลอัตโนมัติ การถอนการติดตั้งแอปจะลบโมเดลที่ดาวน์โหลดทั้งหมดเป็นส่วนหนึ่งของการถอนการติดตั้งแพลตฟอร์ม