การแปล

ส่วนใหญ่ของโครงการนี้คือการสนับสนุนการแปล มันถูกอบเข้าไปในหลายส่วนของกระบวนการนั้น วิธีมาตรฐานในการระบุข้อความใน html คืออย่างนี้: ${i18Next.t("Text to translate")}.

เมื่อได้กำหนดการแปลโดยใช้ i18Next แล้ว มีวิธีการจัดการการแปลอยู่ 3 วิธีที่เป็นไปได้

  1. Manual - ไฟล์ภาษาท้องถิ่น (*.json files) ได้รับการปรับปรุงด้วยคีย์สำหรับการแปลและ [[ และ ]] รอบๆ พวกเขา ซึ่งตั้งใจให้ผู้ใช้สามารถแปลได้ตามที่ต้องการ คุณยังสามารถใช้คำสั่ง "translateManualFile.md" เพื่อช่วยในกระบวนการนี้ได้
  2. GoogleTranslate - สิ่งนี้ใช้ API แปลภาษาของ Google ในการแปลรายการต่างๆ ซึ่งโดยทั่วไปเป็นหนึ่งในทางเลือกที่ราคาถูกและเชื่อถือได้มากที่สุดที่ฉันเคยเห็น ข้อจำกัดเพียงอย่างเดียวที่ฉันพบคือมันไม่จัดการกับแบบฟอร์มพหูพจน์ที่แตกต่างกันได้ดีนัก ดังนั้นคุณอาจต้องใช้ OpenAI หรือ Manual สำหรับสิ่งใดก็ตามที่ใช้ฟีเจอร์พหูพจน์ของ i18Next
  3. OpenAI - นี่ใช้ API ของ OpenAI เพื่อแปลรายการต่างๆ นี่คือทางเลือกที่แพงที่สุดที่ฉันเคยเห็น และยังเป็นทางเลือกที่ยืดหยุ่นที่สุด มันสามารถจัดการรูปแบบพหูพจน์ที่แตกต่างกันได้ดี มันยังสามารถจัดการประโยคที่ซับซ้อนได้ดี และยังมีแนวโน้มที่จะสามารถจัดการภาษาใหม่ๆ ได้มากที่สุด.

การตั้งค่าสำหรับการใช้การแปลนั้นถูกกำหนดไว้ใน build.ts ของคุณและคุณสมบัติ translationSource สำหรับการเรียก staticSiteBuild