Tilbage til 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: Hvilken bevarer JSON og Markdown bedst?

By Robert M

PolyLingo vs DeepL API: hvilken bevarer JSON og Markdown bedst?

DeepL laver virkelig fremragende oversættelsessoftware. Dets neurale oversættelsesmotor anses bredt for at være en af de bedste tilgængelige, og for almindelig prosa er den svær at slå. Hvis du oversætter sætninger, afsnit eller dokumenter skrevet som sammenhængende tekst, er DeepL et stærkt valg.

Spørgsmålet, som dette indlæg besvarer, er mere snævert: hvordan klarer DeepL API sig, når dit indhold har struktur? Når du skal oversætte en JSON lokaliseringsfil uden at røre ved nøglerne, eller et Markdown blogindlæg uden at bryde syntaksen, eller en HTML-side uden at ødelægge attributterne? Og hvordan sammenlignes det med PolyLingo til netop dette brug?


Hvordan DeepL API er bygget

DeepL tekstoversættelses-API accepterer almindelig tekst. Det er dets native inputformat. Hver anmodning accepterer op til 50 tekststrenge, og de oversættes uafhængigt uden delt kontekst mellem dem. Kun ét målsprog kan angives pr. anmodning. Hvis du har brug for fem sprog, laver du fem anmodninger.

DeepL understøtter dokumentoversættelse for formater som PDF, Word, PowerPoint og HTML, men det foregår gennem en separat dokument-endpoint med en anden flow: upload filen, afvent færdiggørelse, download resultatet. Det er designet til kontordokumenter, ikke til programmatiske indholdspipelines.

Specifikt for HTML findes der en tag_handling parameter, som du kan sætte til html, hvilket fortæller DeepL at behandle input som HTML og forsøge at bevare tags. Dette fungerer rimeligt godt for simpel markup, men det er et valgfrit flag, du skal vide at sætte, og det gælder ikke for JSON eller Markdown.

For JSON findes der ikke indbygget støtte. DeepLs tekst-endpoint ved ikke, hvad en JSON-nøgle er. Hvis du sender det et serialiseret JSON-objekt, vil det oversætte indholdet som en streng, og der er ingen garanti for, at nøgler, struktur eller ikke-streng værdier overlever intakte. Babeldown R-biblioteket, som pakker DeepL ind for Markdown-indhold, har dokumenteret tilfælde, hvor DeepL blander tegnsætning inde i Markdown-links og formatering, hvilket er en kendt begrænsning ved at sende struktureret tekst gennem en almindelig tekst-oversættelsesmotor.

Dette er ikke en kritik af DeepL. Det er en beskrivelse af, hvad API'et er designet til at gøre. DeepLs kernebrug er høj-kvalitets oversættelse af menneskeligt læsbar prosa. Det er det, det optimerer for, og det er fremragende til det.


Hvor forskellen viser sig i praksis

Forskellen bliver synlig i det øjeblik, dit indhold ikke er almindelig prosa.

Overvej en standard Next.js lokaliseringsfil:

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

For at oversætte dette med DeepL API til fem sprog skal du:

  1. Ekstrahere hver strengværdi individuelt
  2. Lave en separat API-anmodning pr. sprog (fem sprog, fem anmodninger)
  3. Genskabe JSON-strukturen med de oversatte værdier på de rigtige steder
  4. Håndtere tilfælde, hvor oversættelsen ændrede tegnsætning eller introducerede tegn, der bryder JSON-validitet

Det er en ikke-triviel mængde limkode. Det er også skrøbeligt. Enhver afvigelse i oversættelsesoutputtet fra, hvad din parser forventer, vil forårsage en stille fejl eller en runtime-fejl i din applikation.

Med PolyLingo sender du objektet som det er med format: "json" og modtager en oversat version af den komplette struktur for hvert målsprog i ét svar. Nøgler er uberørte. Nesting bevares. Ikke-streng værdier efterlades som de er. Outputtet kan direkte bruges i dit 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\":\"Home\",\"about\":\"About us\"}}",
    "format": "json",
    "targets": ["fr", "de", "es", "ja", "nl"]
  }'

Én anmodning. Fem sprog. Struktur intakt.


Markdown-indhold

Samme mønster gælder for Markdown. DeepLs tekst-endpoint har ikke kendskab til Markdown-syntaks. Send det et blogindlæg, og det vil behandle det hele som en streng. Overskrifter kan overleve. Kodeblokke vil næsten helt sikkert ikke, da indholdet indeni sandsynligvis behandles som oversættelig tekst. Link-syntaks kan blive ødelagt, især omkring tegnsætning ved grænserne af linkteksten.

PolyLingos markdown format-flag instruerer modellen til at behandle Markdown-syntaks som strukturel frem for oversættelig. Overskrifter forbliver overskrifter. Indhegnede kodeblokke efterlades ordret. Link-URL'er ændres ikke. Kun prosaindholdet ændres.

For et dokumentationssite eller en blog med teknisk indhold er forskellen betydelig. En korrupt kodeblok i en tutorial er ikke et mindre præsentationsproblem, det er en ødelagt tutorial.


Forskellen mellem én anmodning og én pr. sprog

Dette er værd at dvæle ved, fordi omkostningsimplikationerne er reelle.

DeepL API accepterer kun ét målsprog pr. anmodning. For at oversætte et indholdsstykke til ti sprog laver du ti API-kald. For et stort site eller et CMS med hyppig publicering er det ti gange anmodningsomkostninger, ti gange latenstid at håndtere og ti gange fejlmuligheder.

PolyLingo accepterer et array af målsprogskoder og returnerer alle oversættelser i ét svar. Seksogtredive sprog er én anmodning, ikke seksogtredive.

For små projekter er forskellen håndterbar. For alt i større skala ændrer det arkitekturen for, hvordan du bygger din oversættelsespipeline.


Prisstruktur

DeepL opkræver pr. tegn. API Free-planen tillader op til 500.000 tegn pr. måned, og betalte planer fakturerer efter tegnforbrug. Fordi du laver én anmodning pr. sprog, ganges tegnantallet for et indholdsstykke med antallet af målsprog, du sender det til, fordelt på separate anmodninger.

PolyLingo opkræver pr. token og tæller over den samlede input og output for alle sprog i én anmodning. Faktureringen er gennemsigtig og forudsigelig: den gratis tier inkluderer 50.000 tokens pr. måned, med betalte planer fra $9 pr. måned for 600.000 tokens.

De to modeller er ikke direkte sammenlignelige på omkostning pr. ord, fordi de bruger forskellige enheder, men PolyLingos arkitektur med én anmodning til alle sprog betyder, at du ikke multiplicerer dit antal anmodninger lineært med antallet af målsprog.


Hvor hver passer bedst

DeepL API er det rigtige valg, når:

  • Dit indhold er almindelig prosa uden strukturelle krav
  • Oversættelseskvalitet for menneskeligt læsbar tekst er den primære bekymring
  • Du oversætter til et lille antal sprog, og anmodningsvolumen er lav
  • Du allerede er investeret i DeepL-økosystemet og bruger deres ordliste eller formalitetsfunktioner
  • Du har brug for support for et sprog uden for PolyLingos nuværende 36 (DeepL understøtter over 100 sprog)

PolyLingo er det rigtige valg, når:

  • Dit indhold er JSON, Markdown eller HTML, og struktur skal bevares
  • Du skal oversætte til flere sprog i et enkelt API-kald
  • Du bygger en CMS-integration eller i18n-pipeline, hvor anmodningseffektivitet betyder noget
  • Du ønsker et konsistent interface på tværs af alle indholdsformater uden format-specifikke løsninger
  • Du ønsker token-baseret fakturering med en forudsigelig månedlig kvote

Side-by-side oversigt

PolyLingoDeepL API
Native JSON supportJaNej
Native Markdown supportJaNej
HTML supportJaJa (tag_handling flag)
Alle sprog i én anmodningJaNej, ét sprog pr. anmodning
Automatisk detektion af indholdsformatJaNej
Understøttede sprog36100+
Gratis niveau50.000 tokens/måned500.000 tegn/måned
FaktureringsenhedTokenTegn
No-code weboversætterJaJa (webapp)

DeepL har et større sproglager og en længere track record for kvalitet i prosaoversættelse. PolyLingo er formålsbygget til strukturerede indholdsarbejdsgange, hvor formatintegritet er ufravigelig.

De løser beslægtede problemer. Det rigtige valg afhænger af, hvordan dit indhold faktisk ser ud.


Prøv PolyLingo

Det gratis niveau inkluderer 50.000 tokens pr. måned. Ingen kreditkort kræves. Fuld API-dokumentation findes 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": "# Hello\n\nThis is **structured** content.",
    "format": "markdown",
    "targets": ["fr", "de", "es"]
  }'

Få din API-nøgle