Tillbaka till bloggen
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: vilken bevarar JSON och Markdown bäst?

By Robert M

PolyLingo vs DeepL API: vilken bevarar JSON och Markdown bäst?

DeepL skapar verkligen utmärkt översättningsprogramvara. Dess neurala översättningsmotor anses allmänt vara en av de bästa som finns, och för vanlig prosa är den svår att slå. Om du översätter meningar, stycken eller dokument skrivna som löpande text är DeepL ett starkt val.

Frågan som detta inlägg besvarar är en snävare: hur presterar DeepL API när ditt innehåll har struktur? När du behöver översätta en JSON-lokaliseringsfil utan att röra nycklarna, eller ett Markdown-blogginlägg utan att bryta syntaxen, eller en HTML-sida utan att förvränga attributen? Och hur jämför det sig med PolyLingo för det specifika användningsfallet?


Hur DeepL API är byggt

DeepL:s textöversättnings-API accepterar vanlig text. Det är dess inbyggda inmatningsformat. Varje förfrågan accepterar upp till 50 textsträngar och de översätts oberoende, utan delad kontext mellan dem. Endast ett målspråk kan anges per förfrågan. Om du behöver fem språk gör du fem förfrågningar.

DeepL stöder dokumentöversättning för format som PDF, Word, PowerPoint och HTML, men det går via en separat dokumentendpoint med ett annat flöde: ladda upp filen, poll för slutförande, ladda ner resultatet. Det är designat för kontorsdokument, inte för programmatisk innehållspipeline.

För HTML specifikt finns en tag_handling-parameter som du kan ställa in på html, vilket säger åt DeepL att behandla inmatningen som HTML och försöka bevara taggar. Detta fungerar ganska bra för enkel markup, men det är en valfri flagga som du måste veta att du ska ställa in, och det gäller inte för JSON eller Markdown.

För JSON finns inget inbyggt stöd. DeepL:s textendpoint vet inte vad en JSON-nyckel är. Om du skickar ett serialiserat JSON-objekt kommer det att översätta innehållet som en sträng och det finns ingen garanti för att nycklar, struktur eller icke-strängvärden överlever intakta. R-biblioteket babeldown, som omsluter DeepL för Markdown-innehåll, har dokumenterade fall där DeepL blandar ihop interpunktion inuti Markdown-länkar och formatering, vilket är en känd begränsning med att skicka strukturerad text genom en ren textöversättningsmotor.

Detta är inte en kritik av DeepL. Det är en beskrivning av vad API:et är designat för att göra. DeepL:s kärnanvändningsfall är högkvalitativ översättning av människoläsbar prosa. Det är vad det optimerar för och det är utmärkt på det.


Var skillnaden visar sig i praktiken

Skillnaden blir synlig i det ögonblick ditt innehåll inte är vanlig prosa.

Tänk på en standard Next.js lokaliseringsfil:

{
  "nav": {
    "home": "Hem",
    "about": "Om oss",
    "contact": "Kontakta oss"
  },
  "hero": {
    "title": "Välkommen till vår plattform",
    "subtitle": "Allt du behöver på ett ställe"
  }
}

För att översätta detta med DeepL API till fem språk skulle du behöva:

  1. Extrahera varje strängvärde individuellt
  2. Göra en separat API-förfrågan per språk (fem språk, fem förfrågningar)
  3. Återskapa JSON-strukturen med de översatta värdena på rätt platser
  4. Hantera eventuella fall där översättningen ändrat interpunktion eller infört tecken som bryter JSON-validitet

Det är en icke-trivial mängd limkod. Det är också bräckligt. Varje avvikelse i översättningsutdata från vad din parser förväntar sig kommer att orsaka ett tyst fel eller ett körtidsfel i din applikation.

Med PolyLingo skickar du objektet som det är med format: "json" och får tillbaka en översatt version av hela strukturen för varje målspråk i ett svar. Nycklar är orörda. Nestning bevaras. Icke-strängvärden lämnas orörda. Utdata går direkt in i ditt projekt.

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\":\"Hem\",\"about\":\"Om oss\"}}",
    "format": "json",
    "targets": ["fr", "de", "es", "ja", "nl"]
  }'

En förfrågan. Fem språk. Struktur intakt.


Markdown-innehåll

Samma mönster gäller för Markdown. DeepL:s textendpoint har inget koncept av Markdown-syntax. Skicka ett blogginlägg så behandlar den hela som en sträng. Rubriker kan överleva. Kodblock nästan säkert inte, eftersom innehållet inuti dem sannolikt behandlas som översättbar text. Länksyntax kan bli förvrängd, särskilt runt interpunktion vid gränserna för länkttexten.

PolyLingos markdown-formatflagga instruerar modellen att behandla Markdown-syntax som strukturell snarare än översättbar. Rubriker förblir rubriker. Inhägnade kodblock lämnas verbatim. Länk-URL:er ändras inte. Endast prosainnehållet ändras.

För en dokumentationssajt eller en blogg med tekniskt innehåll är skillnaden betydande. Ett korrupt kodblock i en handledning är inte ett mindre presentationsproblem, det är en trasig handledning.


Skillnaden mellan en förfrågan och en per språk

Det är värt att fundera på eftersom kostnadsimplikationerna är verkliga.

DeepL:s API accepterar bara ett målspråk per förfrågan. För att översätta ett innehåll till tio språk gör du tio API-anrop. För en stor sajt eller ett CMS med frekvent publicering är det tio gånger förfrågningsöverhead, tio gånger latens att hantera och tio gånger felpunkter.

PolyLingo accepterar en array av målspråkskoder och returnerar alla översättningar i ett enda svar. Trettiosex språk är en förfrågan, inte trettiosex.

För små projekt är skillnaden hanterbar. För allt i skala ändrar det arkitekturen för hur du bygger din översättningspipeline.


Prisplan

DeepL tar betalt per tecken. API Free-planen tillåter upp till 500 000 tecken per månad, och betalda planer fakturerar efter teckenkonsumtion. Eftersom du gör en förfrågan per språk multipliceras teckenantalet för ett innehåll med antalet målspråk du skickar till i separata förfrågningar.

PolyLingo tar betalt per token och räknar över den kombinerade in- och utdata för alla språk i en enda förfrågan. Faktureringen är transparent och förutsägbar: gratisnivån inkluderar 50 000 tokens per månad, med betalda planer från $9 per månad för 600 000 tokens.

De två modellerna är inte direkt jämförbara på kostnad per ord eftersom de använder olika enheter, men PolyLingos arkitektur med en förfrågan för alla språk innebär att du inte multiplicerar din förfrågningsräkning linjärt med antalet målspråk.


Varje passar bäst när

DeepL API är rätt val när:

  • Ditt innehåll är vanlig prosa utan strukturella krav
  • Översättningskvalitet för människoläsbar text är huvudfokus
  • Du översätter till ett litet antal språk och förfrågningsvolymen är låg
  • Du redan är investerad i DeepL-ekosystemet och använder deras ordlista eller formalitetsfunktioner
  • Du behöver stöd för ett språk utanför PolyLingos nuvarande 36 (DeepL stöder över 100 språk)

PolyLingo är rätt val när:

  • Ditt innehåll är JSON, Markdown eller HTML och struktur måste bevaras
  • Du behöver översätta till flera språk i ett enda API-anrop
  • Du bygger en CMS-integration eller i18n-pipeline där förfrågnings-effektivitet är viktig
  • Du vill ha ett konsekvent gränssnitt över alla innehållsformat utan format-specifika lösningar
  • Du vill ha tokenbaserad fakturering med en förutsägbar månatlig kvot

Sammanfattning sida vid sida

PolyLingoDeepL API
Inbyggt JSON-stödJaNej
Inbyggt Markdown-stödJaNej
HTML-stödJaJa (tag_handling-flagga)
Alla språk i en förfråganJaNej, ett språk per förfrågan
Autoidentifierar innehållsformatJaNej
Stödda språk36100+
Gratisnivå50 000 tokens/månad500 000 tecken/månad
FaktureringsenhetTokenTecken
Kodfri weböversättareJaJa (webbapp)

DeepL har en större språkkatalog och en längre meritlista för prosaöversättningskvalitet. PolyLingo är specialbyggt för strukturerade innehållsarbetsflöden där formatintegritet är icke-förhandlingsbar.

De löser närliggande problem. Rätt val beror på hur ditt innehåll faktiskt ser ut.


Prova PolyLingo

Gratisnivån inkluderar 50 000 tokens per månad. Ingen kreditkort krävs. Fullständig API-dokumentation finns på 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": "# Hej\n\nDetta är **strukturerat** innehåll.",
    "format": "markdown",
    "targets": ["fr", "de", "es"]
  }'

Få din API-nyckel