
PolyLingo vs DeepL API: mana yang lebih baik dalam mempertahankan JSON dan Markdown?
By Robert M
PolyLingo vs DeepL API: mana yang lebih baik dalam mempertahankan JSON dan Markdown?
DeepL membuat perangkat lunak terjemahan yang benar-benar luar biasa. Mesin terjemahan neuralnya dianggap sebagai salah satu yang terbaik yang tersedia, dan untuk prosa biasa sulit dikalahkan. Jika Anda menerjemahkan kalimat, paragraf, atau dokumen yang ditulis sebagai teks berkelanjutan, DeepL adalah pilihan yang kuat.
Pertanyaan yang dijawab oleh posting ini lebih sempit: bagaimana kinerja DeepL API ketika konten Anda memiliki struktur? Ketika Anda perlu menerjemahkan file locale JSON tanpa mengubah kunci, atau posting blog Markdown tanpa merusak sintaks, atau halaman HTML tanpa merusak atribut? Dan bagaimana perbandingannya dengan PolyLingo untuk kasus penggunaan spesifik itu?
Bagaimana DeepL API dibangun
DeepL API terjemahan teks menerima teks biasa. Itu adalah format input aslinya. Setiap permintaan menerima hingga 50 string teks dan diterjemahkan secara independen, tanpa konteks bersama di antara mereka. Hanya satu bahasa target yang dapat ditentukan per permintaan. Jika Anda membutuhkan lima bahasa, Anda membuat lima permintaan.
DeepL memang mendukung terjemahan dokumen untuk format seperti PDF, Word, PowerPoint, dan HTML, tetapi itu melalui endpoint dokumen terpisah dengan alur berbeda: unggah file, polling untuk penyelesaian, unduh hasil. Ini dirancang untuk dokumen kantor, bukan untuk pipeline konten programatik.
Untuk HTML secara khusus, ada parameter tag_handling yang dapat Anda set ke html, yang memberi tahu DeepL untuk memperlakukan input sebagai HTML dan mencoba mempertahankan tag. Ini bekerja cukup baik untuk markup sederhana, tetapi itu adalah flag opsional yang harus Anda ketahui untuk disetel, dan tidak berlaku untuk JSON atau Markdown.
Untuk JSON, tidak ada dukungan asli. Endpoint teks DeepL tidak tahu apa itu kunci JSON. Jika Anda mengirim objek JSON yang diserialisasi, itu akan menerjemahkan konten sebagai string dan tidak ada jaminan bahwa kunci, struktur, atau nilai non-string akan tetap utuh. Perpustakaan R babeldown, yang membungkus DeepL untuk konten Markdown, telah mendokumentasikan kasus di mana DeepL mencampur tanda baca di dalam tautan dan format Markdown, yang merupakan keterbatasan yang diketahui dari meneruskan teks terstruktur melalui mesin terjemahan teks biasa.
Ini bukan kritik terhadap DeepL. Ini adalah deskripsi tentang apa yang dirancang API untuk dilakukan. Kasus penggunaan inti DeepL adalah terjemahan berkualitas tinggi dari prosa yang dapat dibaca manusia. Itu yang dioptimalkannya dan ia sangat baik dalam hal itu.
Di mana perbedaan terlihat dalam praktik
Perbedaan menjadi terlihat saat konten Anda bukan prosa biasa.
Pertimbangkan file locale Next.js standar:
{
"nav": {
"home": "Home",
"about": "About us",
"contact": "Get in touch"
},
"hero": {
"title": "Welcome to our platform",
"subtitle": "Everything you need in one place"
}
}
Untuk menerjemahkan ini dengan DeepL API ke dalam lima bahasa Anda perlu:
- Mengekstrak setiap nilai string secara individual
- Membuat permintaan API terpisah per bahasa (lima bahasa, lima permintaan)
- Membangun kembali struktur JSON dengan nilai terjemahan di tempat yang tepat
- Menangani kasus di mana terjemahan mengubah tanda baca atau memperkenalkan karakter yang merusak validitas JSON Itu adalah jumlah kode penghubung yang tidak sepele. Itu juga rapuh. Setiap penyimpangan dalam output terjemahan dari yang diharapkan parser Anda akan menyebabkan kegagalan diam atau kesalahan runtime dalam aplikasi Anda.
Dengan PolyLingo Anda mengirim objek apa adanya dengan format: "json" dan menerima kembali versi terjemahan dari seluruh struktur untuk setiap bahasa target dalam satu respons. Kunci tidak disentuh. Penempatan bertingkat dipertahankan. Nilai non-string dibiarkan sendiri. Output langsung masuk ke proyek 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.
Konten Markdown
Pola yang sama berlaku untuk Markdown. Endpoint teks DeepL tidak memiliki konsep sintaks Markdown. Kirimkan posting blog dan itu akan memproses seluruhnya sebagai string. Judul mungkin bertahan. Blok kode hampir pasti tidak, karena konten di dalamnya kemungkinan akan diperlakukan sebagai teks yang dapat diterjemahkan. Sintaks tautan mungkin rusak, terutama di sekitar tanda baca di batas teks tautan.
Flag format markdown PolyLingo menginstruksikan model untuk memperlakukan sintaks Markdown sebagai struktural daripada dapat diterjemahkan. Judul tetap judul. Blok kode berpagar dibiarkan verbatim. URL tautan tidak diubah. Hanya konten prosa yang berubah.
Untuk situs dokumentasi atau blog dengan konten teknis, perbedaannya signifikan. Blok kode yang rusak dalam tutorial bukan masalah presentasi kecil, itu adalah tutorial yang rusak.
Perbedaan satu permintaan vs satu per bahasa
Ini layak diperhatikan karena implikasi biaya nyata.
API DeepL hanya menerima satu bahasa target per permintaan. Untuk menerjemahkan sebuah konten ke dalam sepuluh bahasa Anda membuat sepuluh panggilan API. Untuk situs besar atau CMS dengan penerbitan sering, itu sepuluh kali overhead permintaan, sepuluh kali latensi untuk dikelola, dan sepuluh kali titik kegagalan.
PolyLingo menerima array kode bahasa target dan mengembalikan semua terjemahan dalam satu respons. Tiga puluh enam bahasa adalah satu permintaan, bukan tiga puluh enam.
Untuk proyek kecil perbedaan ini dapat dikelola. Untuk apa pun dalam skala besar itu mengubah arsitektur bagaimana Anda membangun pipeline terjemahan Anda.
Model harga
DeepL mengenakan biaya per karakter. Paket API Gratis memungkinkan hingga 500.000 karakter per bulan, dan paket berbayar menagih berdasarkan konsumsi karakter. Karena Anda membuat satu permintaan per bahasa, jumlah karakter untuk sebuah konten dikalikan dengan jumlah bahasa target yang Anda kirimkan dalam permintaan terpisah.
PolyLingo mengenakan biaya per token dan menghitung gabungan input dan output untuk semua bahasa dalam satu permintaan. Penagihan transparan dan dapat diprediksi: tier gratis mencakup 50.000 token per bulan, dengan paket berbayar mulai dari $9 per bulan untuk 600.000 token.
Kedua model tidak dapat dibandingkan langsung berdasarkan biaya per kata karena menggunakan unit berbeda, tetapi arsitektur satu permintaan untuk semua bahasa PolyLingo berarti Anda tidak mengalikan jumlah permintaan secara linier dengan jumlah bahasa target.
Di mana masing-masing cocok
DeepL API adalah pilihan yang tepat ketika:
-
Konten Anda adalah prosa biasa tanpa kebutuhan struktural
-
Kualitas terjemahan untuk teks yang dapat dibaca manusia adalah perhatian utama
-
Anda menerjemahkan ke dalam sedikit bahasa dan volume permintaan rendah
-
Anda sudah berinvestasi dalam ekosistem DeepL dan menggunakan glosarium atau fitur formalitas mereka
-
Anda membutuhkan dukungan untuk bahasa di luar 36 bahasa PolyLingo saat ini (DeepL mendukung lebih dari 100 bahasa) PolyLingo adalah pilihan yang tepat ketika:
-
Konten Anda adalah JSON, Markdown, atau HTML dan struktur harus dipertahankan
-
Anda perlu menerjemahkan ke banyak bahasa dalam satu panggilan API
-
Anda membangun integrasi CMS atau pipeline i18n di mana efisiensi permintaan penting
-
Anda menginginkan antarmuka konsisten di semua format konten tanpa solusi khusus format
-
Anda menginginkan penagihan berbasis token dengan kuota bulanan yang dapat diprediksi
Ringkasan berdampingan
| PolyLingo | DeepL API | |
|---|---|---|
| Dukungan JSON asli | Ya | Tidak |
| Dukungan Markdown asli | Ya | Tidak |
| Dukungan HTML | Ya | Ya (flag tag_handling) |
| Semua bahasa dalam satu permintaan | Ya | Tidak, satu bahasa per permintaan |
| Deteksi format konten otomatis | Ya | Tidak |
| Bahasa yang didukung | 36 | 100+ |
| Tier gratis | 50.000 token/bulan | 500.000 karakter/bulan |
| Unit penagihan | Token | Karakter |
| Penerjemah web tanpa kode | Ya | Ya (aplikasi web) |
DeepL memiliki katalog bahasa yang lebih besar dan rekam jejak lebih lama untuk kualitas terjemahan prosa. PolyLingo dibuat khusus untuk alur kerja konten terstruktur di mana integritas format tidak dapat dinegosiasikan.
Mereka memecahkan masalah yang berdekatan. Pilihan yang tepat tergantung pada seperti apa konten Anda sebenarnya.
Coba PolyLingo
Tier gratis mencakup 50.000 token per bulan. Tidak perlu kartu kredit. Dokumentasi API lengkap 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"]
}'