กลับไปที่บล็อก
Split-screen flat illustration on a white background. Left side shows a simple document icon labeled “.txt” in muted blue-grey, producing a single output document tagged “EN.” Right side shows a JSON file with visible nested keys, connected to three separate document outputs labeled “EN,” “FR,” and “ES.” The right side uses teal and amber accents. A thin vertical line divides the two halves. Clean geometric style, minimal detail, no people or branding.

PolyLingo กับ DeepL API: อันไหนเก็บรักษา JSON และ Markdown ได้ดีกว่า?

By Robert M

PolyLingo กับ DeepL API: อันไหนรักษา JSON และ Markdown ได้ดีกว่า?

DeepL สร้างซอฟต์แวร์แปลภาษาที่ยอดเยี่ยมจริง ๆ เครื่องยนต์แปลภาษาประสาทเทียมของพวกเขาถือเป็นหนึ่งในที่ดีที่สุดที่มีอยู่ และสำหรับข้อความธรรมดานั้นยากที่จะเอาชนะได้ หากคุณกำลังแปลประโยค ย่อหน้า หรือเอกสารที่เขียนเป็นข้อความต่อเนื่อง DeepL เป็นตัวเลือกที่แข็งแกร่ง

คำถามที่โพสต์นี้ตอบคือคำถามที่แคบกว่า: DeepL API ทำงานอย่างไรเมื่อเนื้อหาของคุณมีโครงสร้าง? เมื่อคุณต้องแปลไฟล์ JSON locale โดยไม่แตะต้องคีย์ หรือโพสต์บล็อก Markdown โดยไม่ทำลายไวยากรณ์ หรือหน้า HTML โดยไม่ทำลายแอตทริบิวต์? และมันเปรียบเทียบกับ PolyLingo สำหรับกรณีการใช้งานเฉพาะนั้นอย่างไร?


วิธีการสร้าง DeepL API

DeepL text translation API รับข้อความธรรมดา นั่นคือรูปแบบอินพุตพื้นฐานของมัน คำขอแต่ละครั้งรับได้สูงสุด 50 สตริงข้อความและจะแปลแยกกันโดยไม่มีบริบทร่วมระหว่างกัน สามารถระบุภาษาปลายทางได้เพียงภาษาเดียวต่อคำขอ หากคุณต้องการห้าภาษา คุณต้องส่งคำขอห้าครั้ง

DeepL รองรับการแปลเอกสารสำหรับรูปแบบเช่น PDF, Word, PowerPoint และ HTML แต่จะผ่านเอนด์พอยต์เอกสารแยกต่างหากที่มีขั้นตอนต่างกัน: อัปโหลดไฟล์, ตรวจสอบสถานะจนเสร็จ, ดาวน์โหลดผลลัพธ์ มันถูกออกแบบมาสำหรับเอกสารสำนักงาน ไม่ใช่สำหรับสายงานเนื้อหาแบบโปรแกรม

สำหรับ HTML โดยเฉพาะ มีพารามิเตอร์ tag_handling ที่คุณสามารถตั้งค่าเป็น html ซึ่งบอก DeepL ให้ปฏิบัติต่ออินพุตเป็น HTML และพยายามรักษาแท็กไว้ ซึ่งทำงานได้ดีพอสมควรสำหรับมาร์กอัปง่าย ๆ แต่เป็นแฟล็กที่ต้องตั้งค่าเองและไม่ครอบคลุมถึง JSON หรือ Markdown

สำหรับ JSON ไม่มีการสนับสนุนโดยตรง DeepL text endpoint ไม่รู้จักคีย์ JSON หากคุณส่งอ็อบเจ็กต์ JSON ที่ถูกแปลงเป็นสตริง มันจะแปลเนื้อหาเป็นสตริงและไม่มีการรับประกันว่าคีย์ โครงสร้าง หรือค่าที่ไม่ใช่สตริงจะยังคงอยู่ครบถ้วน ไลบรารี R babeldown ซึ่งห่อหุ้ม DeepL สำหรับเนื้อหา Markdown มีกรณีที่บันทึกไว้ว่า DeepL สับสนเครื่องหมายวรรคตอนภายในลิงก์ Markdown และการจัดรูปแบบ ซึ่งเป็นข้อจำกัดที่ทราบของการส่งข้อความที่มีโครงสร้างผ่านเครื่องแปลข้อความธรรมดา

นี่ไม่ใช่การวิจารณ์ DeepL แต่มันคือคำอธิบายว่า API ถูกออกแบบมาเพื่ออะไร กรณีการใช้งานหลักของ DeepL คือการแปลข้อความที่มนุษย์อ่านได้คุณภาพสูง นั่นคือสิ่งที่มันมุ่งเน้นและทำได้ยอดเยี่ยม


จุดที่ความแตกต่างปรากฏในทางปฏิบัติ

ความแตกต่างจะเห็นได้ชัดเมื่อเนื้อหาของคุณไม่ใช่ข้อความธรรมดา

ลองพิจารณาไฟล์ locale ของ Next.js มาตรฐาน:

{
  "nav": {
    "home": "Home",
    "about": "About us",
    "contact": "Get in touch"
  },
  "hero": {
    "title": "Welcome to our platform",
    "subtitle": "Everything you need in one place"
  }
}

หากจะแปลไฟล์นี้ด้วย DeepL API เป็นห้าภาษา คุณจะต้อง:

  1. ดึงค่าสตริงแต่ละตัวแยกกัน
  2. ส่งคำขอ API แยกสำหรับแต่ละภาษา (ห้าภาษา ห้าคำขอ)
  3. สร้างโครงสร้าง JSON ใหม่ด้วยค่าที่แปลแล้วในตำแหน่งที่ถูกต้อง
  4. จัดการกรณีที่การแปลเปลี่ยนเครื่องหมายวรรคตอนหรือเพิ่มอักขระที่ทำให้ JSON ไม่ถูกต้อง นี่คือโค้ดเชื่อมต่อที่ไม่ง่ายเลย และยังเปราะบางอีกด้วย ความเบี่ยงเบนใด ๆ ในผลลัพธ์การแปลจากที่ตัวแยกวิเคราะห์ของคุณคาดหวังจะทำให้เกิดความล้มเหลวเงียบหรือข้อผิดพลาดเวลารันในแอปพลิเคชันของคุณ

ด้วย PolyLingo คุณส่งอ็อบเจ็กต์ตามเดิมพร้อม format: "json" และรับกลับเวอร์ชันแปลของโครงสร้างทั้งหมดสำหรับทุกภาษาปลายทางในคำตอบเดียว คีย์ไม่ถูกแตะต้อง การซ้อนกันถูกเก็บไว้ ค่าที่ไม่ใช่สตริงไม่ถูกเปลี่ยนแปลง ผลลัพธ์สามารถนำไปใช้ในโปรเจกต์ของคุณได้ทันที

curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
  -H "Authorization: Bearer $POLYLINGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "{\"nav\":{\"home\":\"Home\",\"about\":\"About us\"}}",
    "format": "json",
    "targets": ["fr", "de", "es", "ja", "nl"]
  }'

คำขอเดียว ห้าภาษา โครงสร้างครบถ้วน


เนื้อหา Markdown

รูปแบบเดียวกันนี้ใช้กับ Markdown DeepL text endpoint ไม่มีแนวคิดเรื่องไวยากรณ์ Markdown ส่งโพสต์บล็อกไปและมันจะประมวลผลทั้งหมดเป็นสตริง หัวเรื่องอาจรอด แต่บล็อกโค้ดแทบจะไม่รอด เพราะเนื้อหาภายในมักจะถูกปฏิบัติเป็นข้อความที่แปลได้ ไวยากรณ์ลิงก์อาจถูกทำลาย โดยเฉพาะรอบ ๆ เครื่องหมายวรรคตอนที่ขอบเขตของข้อความลิงก์

PolyLingo มีแฟล็ก markdown ที่สั่งให้โมเดลปฏิบัติต่อไวยากรณ์ Markdown เป็นโครงสร้าง ไม่ใช่ข้อความที่แปลได้ หัวเรื่องยังคงเป็นหัวเรื่อง บล็อกโค้ดที่มีรั้วถูกเก็บไว้ตามเดิม URL ของลิงก์ไม่ถูกเปลี่ยนแปลง มีเพียงเนื้อหาข้อความที่เปลี่ยน

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


ความแตกต่างระหว่างคำขอหนึ่งคำขอกับหนึ่งคำขอต่อภาษา

เรื่องนี้ควรให้ความสนใจเพราะมีผลต่อค่าใช้จ่ายจริง

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

PolyLingo รับอาร์เรย์ของรหัสภาษาปลายทางและส่งกลับการแปลทั้งหมดในคำตอบเดียว สามสิบหกภาษา คือคำขอหนึ่งครั้ง ไม่ใช่สามสิบหกครั้ง

สำหรับโปรเจกต์เล็ก ความแตกต่างนี้จัดการได้ สำหรับทุกอย่างที่มีขนาดใหญ่ขึ้น มันเปลี่ยนสถาปัตยกรรมของวิธีที่คุณสร้างสายงานแปลของคุณ


รูปแบบการคิดราคา

DeepL คิดราคาตามจำนวนตัวอักษร แผน API ฟรีอนุญาตสูงสุด 500,000 ตัวอักษรต่อเดือน และแผนชำระเงินคิดตามการใช้ตัวอักษร เพราะคุณส่งคำขอหนึ่งครั้งต่อภาษา จำนวนตัวอักษรของเนื้อหาจะถูกคูณด้วยจำนวนภาษาปลายทางที่คุณส่งในคำขอแยกกัน

PolyLingo คิดราคาตามโทเค็นและนับรวมทั้งอินพุตและเอาต์พุตสำหรับทุกภาษาในคำขอเดียว การคิดราคาชัดเจนและคาดการณ์ได้: แผนฟรีรวม 50,000 โทเค็นต่อเดือน แผนชำระเงินเริ่มต้นที่ $9 ต่อเดือนสำหรับ 600,000 โทเค็น

สองรูปแบบนี้ไม่สามารถเปรียบเทียบโดยตรงในแง่ต้นทุนต่อคำเพราะใช้หน่วยต่างกัน แต่สถาปัตยกรรมคำขอเดียว-ทุกภาษา ของ PolyLingo หมายความว่าคุณไม่ต้องคูณจำนวนคำขอเป็นเส้นตรงตามจำนวนภาษาปลายทาง


เหมาะกับใคร

DeepL API เหมาะเมื่อ:

  • เนื้อหาของคุณเป็นข้อความธรรมดาไม่มีข้อกำหนดโครงสร้าง
  • คุณภาพการแปลสำหรับข้อความที่มนุษย์อ่านได้เป็นเรื่องสำคัญ
  • คุณแปลเป็นภาษาจำนวนน้อยและปริมาณคำขอน้อย
  • คุณลงทุนในระบบนิเวศของ DeepL และใช้พจนานุกรมหรือฟีเจอร์ความเป็นทางการของพวกเขา
  • คุณต้องการสนับสนุนภาษาที่ PolyLingo ยังไม่มี (DeepL รองรับมากกว่า 100 ภาษา)

PolyLingo เหมาะเมื่อ:

  • เนื้อหาของคุณเป็น JSON, Markdown หรือ HTML และต้องรักษาโครงสร้าง
  • คุณต้องแปลเป็นหลายภาษาในคำขอ API เดียว
  • คุณกำลังสร้างการรวม CMS หรือสายงาน i18n ที่ประสิทธิภาพคำขอสำคัญ
  • คุณต้องการอินเทอร์เฟซที่สอดคล้องกันสำหรับทุกรูปแบบเนื้อหาโดยไม่ต้องใช้วิธีแก้ไขเฉพาะรูปแบบ
  • คุณต้องการการคิดราคาตามโทเค็นที่มีการให้โควตารายเดือนที่คาดการณ์ได้

สรุปเปรียบเทียบ

PolyLingoDeepL API
สนับสนุน JSON โดยตรงใช่ไม่
สนับสนุน Markdown โดยตรงใช่ไม่
สนับสนุน HTMLใช่ใช่ (แฟล็ก tag_handling)
ทุกภาษาภายในคำขอเดียวใช่ไม่, หนึ่งภาษาต่อคำขอ
ตรวจจับรูปแบบเนื้อหาอัตโนมัติใช่ไม่
ภาษาที่รองรับ36100+
แผนฟรี50,000 โทเค็น/เดือน500,000 ตัวอักษร/เดือน
หน่วยคิดราคาโทเค็นตัวอักษร
ตัวแปลเว็บไม่ต้องเขียนโค้ดใช่ใช่ (เว็บแอป)

DeepL มีแคตตาล็อกภาษาที่ใหญ่กว่าและประวัติการแปลข้อความธรรมดาที่ยาวนานกว่า PolyLingo ถูกสร้างขึ้นเพื่อสายงานเนื้อหาที่มีโครงสร้างซึ่งความสมบูรณ์ของรูปแบบเป็นสิ่งที่ไม่สามารถต่อรองได้

พวกเขากำลังแก้ปัญหาที่ใกล้เคียงกัน ตัวเลือกที่เหมาะสมขึ้นอยู่กับว่าเนื้อหาของคุณเป็นอย่างไรจริง ๆ


ลองใช้ PolyLingo

แผนฟรีรวม 50,000 โทเค็นต่อเดือน ไม่ต้องใช้บัตรเครดิต เอกสาร API เต็มรูปแบบอยู่ที่ usepolylingo.com/docs

curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
  -H "Authorization: Bearer $POLYLINGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "# Hello\n\nThis is **structured** content.",
    "format": "markdown",
    "targets": ["fr", "de", "es"]
  }'

รับคีย์ API ของคุณ