Kembali ke blog
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 vs DeepL API: yang mana lebih baik dalam mengekalkan JSON dan Markdown?

By Robert M

PolyLingo vs DeepL API: yang mana lebih baik dalam mengekalkan JSON dan Markdown?

DeepL menghasilkan perisian terjemahan yang benar-benar cemerlang. Enjin terjemahan neuralnya diiktiraf secara meluas sebagai salah satu yang terbaik yang tersedia, dan untuk prosa biasa ia sukar untuk ditandingi. Jika anda menterjemah ayat, perenggan, atau dokumen yang ditulis sebagai teks berterusan, DeepL adalah pilihan yang kukuh.

Soalan yang dijawab oleh pos ini adalah lebih khusus: bagaimana prestasi DeepL API apabila kandungan anda mempunyai struktur? Apabila anda perlu menterjemah fail locale JSON tanpa menyentuh kekunci, atau pos blog Markdown tanpa merosakkan sintaks, atau halaman HTML tanpa merosakkan atribut? Dan bagaimana ia dibandingkan dengan PolyLingo untuk kes penggunaan khusus itu?


Bagaimana DeepL API dibina

DeepL API terjemahan teks menerima teks biasa. Itu adalah format input asalnya. Setiap permintaan menerima sehingga 50 rentetan teks dan ia diterjemah secara bebas, tanpa konteks berkongsi antara mereka. Hanya satu bahasa sasaran boleh ditetapkan setiap permintaan. Jika anda memerlukan lima bahasa, anda membuat lima permintaan.

DeepL menyokong terjemahan dokumen untuk format seperti PDF, Word, PowerPoint, dan HTML, tetapi itu melalui titik akhir dokumen yang berasingan dengan aliran yang berbeza: muat naik fail, semak untuk siap, muat turun hasil. Ia direka untuk dokumen pejabat, bukan untuk saluran kandungan berprogram.

Untuk HTML khususnya, terdapat parameter tag_handling yang boleh anda tetapkan kepada html, yang memberitahu DeepL untuk menganggap input sebagai HTML dan cuba mengekalkan tag. Ini berfungsi dengan baik untuk markup mudah, tetapi ia adalah bendera pilihan yang anda perlu tahu untuk tetapkan, dan ia tidak meluas kepada JSON atau Markdown.

Untuk JSON, tiada sokongan asli. Titik akhir teks DeepL tidak tahu apa itu kekunci JSON. Jika anda menghantarnya objek JSON yang diserialkan, ia akan menterjemah kandungan sebagai rentetan dan tiada jaminan bahawa kekunci, struktur, atau nilai bukan rentetan akan kekal utuh. Perpustakaan R babeldown, yang membalut DeepL untuk kandungan Markdown, telah mendokumentasikan kes di mana DeepL mencampur tanda baca dalam pautan dan format Markdown, yang merupakan had yang diketahui apabila menghantar teks berstruktur melalui enjin terjemahan teks biasa.

Ini bukan kritikan terhadap DeepL. Ia adalah penerangan tentang apa yang API direka untuk lakukan. Kes penggunaan teras DeepL adalah terjemahan berkualiti tinggi bagi prosa yang boleh dibaca manusia. Itu yang dioptimumkan dan ia sangat baik dalam itu.


Di mana jurang muncul dalam praktik

Perbezaan menjadi jelas sebaik sahaja kandungan anda bukan prosa biasa.

Pertimbangkan fail locale Next.js standard:

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

Untuk menterjemah ini dengan DeepL API ke dalam lima bahasa anda perlu:

  1. Mengeluarkan setiap nilai rentetan secara individu
  2. Membuat permintaan API berasingan bagi setiap bahasa (lima bahasa, lima permintaan)
  3. Menyusun semula struktur JSON dengan nilai terjemahan di tempat yang betul
  4. Mengendalikan sebarang kes di mana terjemahan mengubah tanda baca atau memperkenalkan aksara yang merosakkan kesahihan JSON Itu adalah jumlah kod sambungan yang tidak mudah. Ia juga rapuh. Sebarang penyimpangan dalam output terjemahan daripada apa yang dijangka oleh parser anda akan menyebabkan kegagalan senyap atau ralat masa jalan dalam aplikasi anda.

Dengan PolyLingo anda menghantar objek seperti sedia ada dengan format: "json" dan menerima kembali versi terjemahan struktur lengkap untuk setiap bahasa sasaran dalam satu respons. Kekunci tidak disentuh. Penjajaran dikekalkan. Nilai bukan rentetan dibiarkan begitu sahaja. Output terus dimasukkan ke dalam projek anda.

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"]
  }'

Satu permintaan. Lima bahasa. Struktur utuh.


Kandungan Markdown

Corak yang sama terpakai kepada Markdown. Titik akhir teks DeepL tidak mempunyai konsep sintaks Markdown. Hantar pos blog dan ia akan memproses keseluruhan sebagai rentetan. Tajuk mungkin kekal. Blok kod hampir pasti tidak, kerana kandungan di dalamnya mungkin dianggap sebagai teks yang boleh diterjemah. Sintaks pautan mungkin rosak, terutamanya di sekitar tanda baca di sempadan teks pautan.

Bendera format markdown PolyLingo mengarahkan model untuk menganggap sintaks Markdown sebagai struktur dan bukan boleh diterjemah. Tajuk kekal tajuk. Blok kod berpagar dibiarkan secara verbatim. URL pautan tidak diubah. Hanya kandungan prosa yang berubah.

Untuk laman dokumentasi atau blog dengan kandungan teknikal, perbezaannya adalah signifikan. Blok kod yang rosak dalam tutorial bukan isu persembahan kecil, ia adalah tutorial yang rosak.


Perbezaan satu permintaan vs satu per bahasa

Ini berbaloi untuk diperhatikan kerana implikasi kosnya nyata.

API DeepL hanya menerima satu bahasa sasaran setiap permintaan. Untuk menterjemah satu kandungan ke dalam sepuluh bahasa anda membuat sepuluh panggilan API. Untuk laman besar atau CMS dengan penerbitan kerap, itu sepuluh kali ganda overhead permintaan, sepuluh kali ganda latensi untuk diurus, dan sepuluh kali ganda titik kegagalan.

PolyLingo menerima tatasusunan kod bahasa sasaran dan mengembalikan semua terjemahan dalam satu respons. Tiga puluh enam bahasa adalah satu permintaan, bukan tiga puluh enam.

Untuk projek kecil perbezaan ini boleh diurus. Untuk apa-apa pada skala ia mengubah seni bina bagaimana anda membina saluran terjemahan anda.


Model harga

DeepL mengenakan bayaran berdasarkan aksara. Pelan API Percuma membenarkan sehingga 500,000 aksara sebulan, dan pelan berbayar mengenakan bayaran berdasarkan penggunaan aksara. Kerana anda membuat satu permintaan setiap bahasa, kiraan aksara untuk satu kandungan didarabkan dengan bilangan bahasa sasaran yang anda hantar dalam permintaan berasingan.

PolyLingo mengenakan bayaran berdasarkan token dan mengira merentasi input dan output gabungan untuk semua bahasa dalam satu permintaan. Pengebilan adalah telus dan boleh diramal: lapisan percuma termasuk 50,000 token sebulan, dengan pelan berbayar bermula pada $9 sebulan untuk 600,000 token.

Kedua-dua model tidak boleh dibandingkan secara langsung dari segi kos per perkataan kerana mereka menggunakan unit yang berbeza, tetapi seni bina satu permintaan-semuanya bahasa PolyLingo bermakna anda tidak menggandakan kiraan permintaan secara linear dengan bilangan bahasa sasaran.


Di mana setiap satu sesuai

DeepL API adalah pilihan tepat apabila:

  • Kandungan anda adalah prosa biasa tanpa keperluan struktur

  • Kualiti terjemahan untuk teks yang boleh dibaca manusia adalah keutamaan utama

  • Anda menterjemah ke dalam bilangan bahasa yang kecil dan volum permintaan rendah

  • Anda sudah melabur dalam ekosistem DeepL dan menggunakan glosari atau ciri formaliti mereka

  • Anda memerlukan sokongan untuk bahasa di luar 36 bahasa semasa PolyLingo (DeepL menyokong lebih 100 bahasa) PolyLingo adalah pilihan tepat apabila:

  • Kandungan anda adalah JSON, Markdown, atau HTML dan struktur mesti dikekalkan

  • Anda perlu menterjemah ke dalam pelbagai bahasa dalam satu panggilan API

  • Anda membina integrasi CMS atau saluran i18n di mana kecekapan permintaan penting

  • Anda mahukan antara muka konsisten merentasi semua format kandungan tanpa jalan penyelesaian khusus format

  • Anda mahukan pengebilan berasaskan token dengan pemberian bulanan yang boleh diramal


Ringkasan sebelah-menyebelah

PolyLingoDeepL API
Sokongan JSON asliYaTidak
Sokongan Markdown asliYaTidak
Sokongan HTMLYaYa (bendera tag_handling)
Semua bahasa dalam satu permintaanYaTidak, satu bahasa setiap permintaan
Mengesan format kandungan secara automatikYaTidak
Bahasa disokong36100+
Lapisan percuma50,000 token/bulan500,000 aksara/bulan
Unit pengebilanTokenAksara
Penterjemah web tanpa kodYaYa (aplikasi web)

DeepL mempunyai katalog bahasa yang lebih besar dan rekod prestasi yang lebih lama untuk kualiti terjemahan prosa. PolyLingo dibina khusus untuk aliran kerja kandungan berstruktur di mana integriti format tidak boleh dirunding.

Mereka menyelesaikan masalah bersebelahan. Pilihan yang tepat bergantung pada bagaimana kandungan anda sebenarnya kelihatan.


Cuba PolyLingo

Lapisan percuma termasuk 50,000 token sebulan. Tiada kad kredit diperlukan. Dokumentasi API penuh ada di 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"]
  }'

Dapatkan kunci API anda