การแปล I18n ด้วย CLI
Logto translate CLI เป็นเครื่องมือที่ทรงพลังสำหรับนักพัฒนาที่มีส่วนร่วมในความพยายามด้าน i18n ของ Logto ด้วย CLI นี้ คุณสามารถมุ่งเน้นไปที่การเขียนเนื้อหาเป็นภาษาอังกฤษ แล้วแปลเป็นทุกภาษาที่รองรับได้อย่างง่ายดาย
สำหรับผู้ใช้ Logto ทั่วไปที่ต้องการแปลเองโดยไม่ต้องมีส่วนร่วมกับโปรเจกต์ กรุณาดู คู่มือการแปลภาษา
ตั้งแต่ v1.20.0 คำสั่งแปลถูกถอดออกจาก @logto/cli
และดูแลเป็นแพ็กเกจแยกชื่อ @logto/translation
ใน logto monorepo ดังนั้นวิธีการเรียกใช้งานจึงแตกต่างกันเล็กน้อย
ย้ายจาก @logto/cli
นี่คือการเปรียบเทียบวิธีการเรียกใช้ CLI แบบเก่าและใหม่:
วิธีเก่า (ก่อน v1.20.0):
pnpm cli translate <command> [options]
วิธีใหม่:
pnpm translate <command> [options]
ซิงค์คีย์
สมมติว่าเรามีการเปลี่ยนแปลงคีย์แปลในโฟลเดอร์ en
ของแพ็กเกจ phrases
เราต้องการซิงค์การเปลี่ยนแปลงนี้ไปยังโฟลเดอร์ pt-BR
ให้รันคำสั่งด้านล่างเพื่อซิงค์คีย์แปลและโครงสร้างไฟล์:
pnpm translate sync-keys --target pt-BR
คำสั่งนี้จะอ่านคีย์แปลทั้งหมดจากโฟลเดอร์ภาษาต้นทาง (en
โดยค่าเริ่มต้น) และซิงค์ไปยังโฟลเดอร์ภาษาปลายทาง (pt-BR
ในตัวอย่างนี้)
- หากโฟลเดอร์ภาษาปลายทางยังไม่มี จะถูกสร้างขึ้นโดยอัตโนมัติ
- หากโฟลเดอร์ภาษาปลายทางมีอยู่แล้ว จะถูกอัปเดตด้วยคีย์ใหม่และลบคีย์ที่ไม่ใช้แล้ว
สำหรับแต่ละคีย์แปล:
- หากคีย์ใดขาดในปลายทาง จะถูกเพิ่มพร้อมคอมเมนต์ระบุว่ายังไม่ได้แปล (ทำเครื่องหมายด้วย
/** UNTRANSLATED */
) - หากคีย์ใดขาดในต้นฉบับ จะถูกลบออกจากปลายทาง
- หากคีย์มีทั้งในต้นฉบับและปลายทาง จะใช้ค่าของปลายทาง
หากต้องการซิงค์คีย์สำหรับทุกภาษาในแพ็กเกจ phrases
ให้รันคำสั่งนี้:
pnpm translate sync-keys --target all
ดังนั้นเราจึงสามารถมุ่งเน้นที่การอัปเดตคีย์แปลในโฟลเดอร์ภาษาต้นทาง และคีย์แปลในภาษาอื่นจะถูกอัปเดตโดยอัตโนมัติ
คำสั่งนี้จะทำงานกับแพ็กเกจ phrases
โดยค่าเริ่มต้น คุณสามารถระบุชื่อแพ็กเกจด้วยออปชัน --package
เช่น ใช้ --package phrases-experience
เพื่อซิงค์คีย์สำหรับแพ็กเกจ phrases-experience
หลังจากซิงค์คีย์แล้ว เราสามารถแปลคีย์โดยใช้ ChatGPT API
แปลคีย์ด้วย ChatGPT
รันคำสั่งด้านล่างเพื่อแปลคีย์ด้วย ChatGPT:
pnpm translate sync
คำสั่งนี้จะแปลคีย์ที่ยังไม่ได้แปลทั้งหมด (ทำเครื่องหมายด้วย /** UNTRANSLATED */
) ในทุกภาษาของแพ็กเกจ phrases
และ phrases-experience
หมายเหตุ: ต้องตั้งค่าตัวแปรสภาพแวดล้อม OPENAI_API_KEY
เพื่อรันคำสั่งนี้
แหล่งข้อมูลที่เกี่ยวข้อง
การทำ Internationalization อย่างมีประสิทธิภาพด้วย ChatGPT
การแปล JSON บริบทยาวด้วย ChatGPT