Zpět na 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: Který lépe zachovává JSON a Markdown?

By Robert M

PolyLingo vs DeepL API: který lépe zachovává JSON a Markdown?

DeepL vytváří skutečně vynikající překladatelský software. Jeho neuronový překladový engine je široce považován za jeden z nejlepších dostupných a pro prostý text je těžké ho překonat. Pokud překládáte věty, odstavce nebo dokumenty psané jako souvislý text, DeepL je silná volba.

Otázka, na kterou tento příspěvek odpovídá, je užší: jak si DeepL API vede, když má váš obsah strukturu? Když potřebujete přeložit JSON lokalizační soubor, aniž byste se dotkli klíčů, nebo Markdown blogový příspěvek, aniž byste porušili syntaxi, nebo HTML stránku, aniž byste poškodili atributy? A jak se to srovnává s PolyLingo pro tento konkrétní případ použití?


Jak je DeepL API postaveno

DeepL textové překladové API přijímá prostý text. To je jeho nativní vstupní formát. Každý požadavek přijímá až 50 textových řetězců a ty jsou překládány nezávisle, bez sdíleného kontextu mezi nimi. Na jeden požadavek lze specifikovat pouze jeden cílový jazyk. Pokud potřebujete pět jazyků, musíte udělat pět požadavků.

DeepL podporuje překlad dokumentů pro formáty jako PDF, Word, PowerPoint a HTML, ale to probíhá přes samostatný dokumentový endpoint s jiným tokem: nahrání souboru, čekání na dokončení, stažení výsledku. Je navržen pro kancelářské dokumenty, ne pro programové obsahové pipeline.

Specificky pro HTML existuje parametr tag_handling, který můžete nastavit na html, což říká DeepL, aby vstup považoval za HTML a pokusil se zachovat tagy. To funguje rozumně dobře pro jednoduchý markup, ale je to volitelný přepínač, který musíte vědět, že máte nastavit, a neplatí pro JSON nebo Markdown.

Pro JSON není nativní podpora. Textový endpoint DeepL neví, co je JSON klíč. Pokud mu pošlete serializovaný JSON objekt, přeloží obsah jako řetězec a není zaručeno, že klíče, struktura nebo hodnoty, které nejsou řetězce, zůstanou neporušené. Knihovna babeldown v R, která DeepL obaluje pro Markdown obsah, dokumentovala případy, kdy DeepL zaměňuje interpunkci uvnitř Markdown odkazů a formátování, což je známé omezení předávání strukturovaného textu přes překladový engine pro prostý text.

Toto není kritika DeepL. Je to popis toho, co API bylo navrženo dělat. Hlavní případ použití DeepL je vysoce kvalitní překlad lidsky čitelného textu. Na to je optimalizován a v tom je vynikající.


Kde se rozdíl projevuje v praxi

Rozdíl je viditelný ve chvíli, kdy váš obsah není prostý text.

Zvažte standardní Next.js lokalizační soubor:

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

Pro překlad tohoto pomocí DeepL API do pěti jazyků byste museli:

  1. Extrahovat každou textovou hodnotu jednotlivě
  2. Udělat samostatný API požadavek pro každý jazyk (pět jazyků, pět požadavků)
  3. Znovu sestavit JSON strukturu s přeloženými hodnotami na správných místech
  4. Řešit případy, kdy překlad změnil interpunkci nebo přidal znaky, které porušují platnost JSON

To je nemalé množství pomocného kódu. Je to také křehké. Jakákoliv odchylka v překladu od očekávání vašeho parseru způsobí tichý pád nebo runtime chybu ve vaší aplikaci.

S PolyLingo pošlete objekt tak, jak je, s format: "json" a obdržíte zpět přeloženou verzi celé struktury pro každý cílový jazyk v jedné odpovědi. Klíče zůstávají nedotčeny. Vnoření je zachováno. Hodnoty, které nejsou řetězce, zůstávají beze změny. Výstup můžete rovnou použít ve svém projektu.

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

Jeden požadavek. Pět jazyků. Struktura neporušená.


Markdown obsah

Stejný vzorec platí pro Markdown. Textový endpoint DeepL nezná syntaxi Markdown. Pošlete mu blogový příspěvek a zpracuje vše jako řetězec. Nadpisy mohou přežít. Kódové bloky téměř jistě ne, protože obsah uvnitř bude pravděpodobně považován za překládatelný text. Syntaxe odkazů může být poškozena, zejména kolem interpunkce na hranicích textu odkazu.

Formátovací příznak markdown v PolyLingo instruuje model, aby zacházel se syntaxí Markdown jako se strukturou, nikoliv jako s překladem. Nadpisy zůstávají nadpisy. Oplocené kódové bloky zůstávají beze změny. URL odkazů se nemění. Mění se pouze obsah textu.

Pro dokumentační web nebo blog s technickým obsahem je rozdíl významný. Poškozený kódový blok v tutoriálu není drobný prezentační problém, je to rozbitý tutoriál.


Rozdíl mezi jedním požadavkem a jedním na jazyk

Toto stojí za pozornost, protože náklady jsou reálné.

DeepL API přijímá pouze jeden cílový jazyk na požadavek. Pro překlad obsahu do deseti jazyků uděláte deset API volání. Pro velký web nebo CMS s častým publikováním je to desetkrát více režie požadavků, desetkrát více latence k řízení a desetkrát více bodů selhání.

PolyLingo přijímá pole kódů cílových jazyků a vrací všechny překlady v jedné odpovědi. Třicet šest jazyků je jeden požadavek, ne šestatřicet.

Pro malé projekty je rozdíl zvládnutelný. Pro cokoli ve větším měřítku to mění architekturu, jak stavíte svůj překladový pipeline.


Cenový model

DeepL účtuje podle počtu znaků. Bezplatný plán API umožňuje až 500 000 znaků měsíčně a placené plány účtují podle spotřeby znaků. Protože děláte jeden požadavek na jazyk, počet znaků obsahu se násobí počtem cílových jazyků v samostatných požadavcích.

PolyLingo účtuje podle tokenů a počítá přes kombinovaný vstup a výstup pro všechny jazyky v jednom požadavku. Účtování je transparentní a předvídatelné: bezplatná úroveň zahrnuje 50 000 tokenů měsíčně, placené plány začínají na 9 USD měsíčně za 600 000 tokenů.

Tyto dva modely nejsou přímo srovnatelné z hlediska ceny za slovo, protože používají různé jednotky, ale architektura PolyLingo s jedním požadavkem pro všechny jazyky znamená, že počet požadavků neroste lineárně s počtem cílových jazyků.


Kde se který hodí

DeepL API je správná volba, když:

  • Váš obsah je prostý text bez strukturálních požadavků
  • Kvalita překladu pro lidsky čitelný text je hlavní prioritou
  • Překládáte do malého počtu jazyků a objem požadavků je nízký
  • Jste již investováni v ekosystému DeepL a používáte jejich slovník nebo formálnost
  • Potřebujete podporu jazyka mimo současných 36 PolyLingo (DeepL podporuje přes 100 jazyků)

PolyLingo je správná volba, když:

  • Váš obsah je JSON, Markdown nebo HTML a struktura musí být zachována
  • Potřebujete překládat do více jazyků v jednom API volání
  • Budujete CMS integraci nebo i18n pipeline, kde záleží na efektivitě požadavků
  • Chcete konzistentní rozhraní napříč všemi formáty obsahu bez formátově specifických řešení
  • Chcete účtování založené na tokenech s předvídatelným měsíčním limitem

Souhrn vedle sebe

PolyLingoDeepL API
Nativní podpora JSONAnoNe
Nativní podpora MarkdownAnoNe
Podpora HTMLAnoAno (tag_handling flag)
Všechny jazyky v jednom požadavkuAnoNe, jeden jazyk na požadavek
Automatické rozpoznání formátu obsahuAnoNe
Podporované jazyky36100+
Bezplatná úroveň50 000 tokenů/měsíc500 000 znaků/měsíc
Účetní jednotkaTokenZnak
Webový překladač bez kóduAnoAno (webová aplikace)

DeepL má větší katalog jazyků a delší historii kvality překladu pro prózu. PolyLingo je účelově postaven pro strukturované obsahové workflow, kde je integrita formátu nezpochybnitelná.

Řeší sousední problémy. Správná volba závisí na tom, jak váš obsah skutečně vypadá.


Vyzkoušejte PolyLingo

Bezplatná úroveň zahrnuje 50 000 tokenů měsíčně. Kreditní karta není potřeba. Kompletní dokumentace API je na 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"]
  }'

Získejte svůj API klíč