JSON oversættelse

Oversæt JSON lokaliseringsfiler uden at ændre dine nøgler.

Nøgler forbliver nøgler. Indlejring forbliver intakt. Kun strengværdier oversættes — og kun strengværdier. Alle andre egenskabstyper returneres præcis som sendt.

Nøgler
altid bevaret
Indlejret
objekter håndteres rekursivt
36
output sprog pr. forespørgsel
100K
gratis tokens / måned

Standard oversættelsesværktøjer forstår ikke JSON.

Generiske oversættelses-API'er ser din JSON som en tekstblok. De oversætter nøgle-navne sammen med værdier. De flader indlejrede objekter ud. De sammenkæder strenge, de ikke burde. Det, der kommer tilbage, er strukturelt ødelagt JSON, som kræver manuel korrektion, før det kan bruges. Hvis du vedligeholder lokaliseringsfiler til en produktionsapplikation, ved du, at det at sende dem til en standard oversættelses-API skaber mere arbejde, end det sparer.

Problemet går dybere end blot nøgle-navne. Standard oversættelses-API'er ødelægger også interpolationsvariabler. En streng som "Hello {name}, you have {count} messages" kommer tilbage med variabelnavnene oversat — "Hola {nombre}, tienes {cuenta} mensajes" — hvilket bryder alle runtime-miljøer, der forventede det oprindelige variabelnavn. Timer med fejlfinding følger.

For teams, der vedligeholder lokaliseringsfiler på tværs af flere sprog til en produktionsapplikation, er dette ikke en teoretisk bekymring. Det er allerede sket. Spørgsmålet er, hvor lang tid den manuelle reparationsproces tager hver gang.

PolyLingo gennemgår din JSON før oversættelse.

PolyLingo forstår JSON-strukturen. Det gennemgår rekursivt dit objekt, identificerer strengværdier, der indeholder oversættelig tekst, og sender kun disse værdier til oversættelsesmodellen. Nøgle-navne ændres aldrig. Tal, booleske værdier, null-værdier og ikke-streng-typer sendes igennem uændret. Outputtet er gyldig JSON med identisk struktur — bare med oversatte strengværdier.

Interpolationsvariabler — {name}, {{count}}, %s og lignende mønstre — identificeres og bevares gennem hele oversættelsesprocessen. De erstattes med pladsholdere før oversættelse og genindsættes i deres oprindelige form i outputtet. Oversættelsesmodellen ser dem aldrig som oversættelig tekst.

Arrays håndteres korrekt: hvert streng-element oversættes, mens numeriske indekser og array-strukturen forbliver uændret. Blandede arrays med både strenge og ikke-strenge (tal, objekter) gennemgås korrekt med ikke-streng-typer sendt igennem uændret.

Input — flad JSON lokaliseringsfil (Engelsk)
{
  "nav_home": "Home",
  "nav_pricing": "Pricing",
  "hero_title": "Grow your audience globally",
  "hero_cta": "Get started for free",
  "footer_rights": "All rights reserved."
}
Output — Fransk (nøgler identiske)
{
  "nav_home": "Accueil",
  "nav_pricing": "Tarifs",
  "hero_title": "Développez votre audience mondiale",
  "hero_cta": "Commencer gratuitement",
  "footer_rights": "Tous droits réservés."
}
Input — indlejret JSON lokaliseringsfil (Engelsk)
{
  "nav": {
    "home": "Home",
    "pricing": "Pricing",
    "blog": "Blog"
  },
  "hero": {
    "title": "Grow your audience globally",
    "subtitle": "Translate in seconds.",
    "cta": "Get started for free"
  },
  "errors": {
    "notFound": "Page not found",
    "serverError": "Something went wrong"
  }
}
Output — Spansk (struktur intakt)
{
  "nav": {
    "home": "Inicio",
    "pricing": "Precios",
    "blog": "Blog"
  },
  "hero": {
    "title": "Expande tu audiencia globalmente",
    "subtitle": "Traduce en segundos.",
    "cta": "Comienza gratis"
  },
  "errors": {
    "notFound": "Página no encontrada",
    "serverError": "Algo salió mal"
  }
}
API-forespørgsel — oversæt til 5 sprog i ét kald
curl -X POST https://api.usepolylingo.com/v1/translate \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "{\"nav_home\": \"Home\", \"hero_title\": \"Get started\"}",
    "format": "json",
    "targets": ["es", "fr", "de", "ja", "zh"],
    "model": "standard"
  }'

# Response:
# {
#   "translations": {
#     "es": "{\"nav_home\": \"Inicio\", \"hero_title\": \"Empezar\"}",
#     "fr": "{\"nav_home\": \"Accueil\", \"hero_title\": \"Commencer\"}",
#     ...
#   }
# }

Hvad PolyLingo garanterer for hver JSON-oversættelse

  • Nøgle-navne ændres aldrig
  • Indlejrede objekter og arrays håndteres rekursivt
  • Tal, booleske værdier, null-værdier sendes igennem uændret
  • Alle 36 sprog i en enkelt forespørgsel
  • Automatisk genkendt som JSON — ingen formatflag krævet
  • Fungerer med flade og dybt indlejrede lokaliseringsfiler
  • Interpolationsvariabler ({name}, {{count}}, %s) bevaret præcist
  • Output er gyldig JSON — kan parses uden ændringer

Tre trin til oversatte lokaliseringsfiler

1

Indsæt din JSON eller kald API'en

Brug den no-code oversætter til enkeltstående oversættelser: indsæt din JSON, vælg dine sprog, download de oversatte filer. Til automatisering, kald POST /v1/translate med dit JSON-indhold og målsprogskoder.

2

Modtag alle sprog i ét svar

API'en returnerer et JSON-objekt med én post per målsprog, hver indeholdende den fuldt oversatte lokaliseringsfil med identisk struktur. Ingen opkald per sprog. Ingen løkker. Én forespørgsel for alle outputs.

3

Placer output i din messages-mappe

Skriv hver oversatte fil til messages/es.json, messages/fr.json, messages/de.json — eller hvor end din i18n-bibliotek forventer dem. Strukturen er identisk med din kildefil, så ingen yderligere behandling er nødvendig.

Hvor JSON-oversættelse betyder mest

🌐

App i18n med next-intl eller i18next

Oversæt dine messages/*.json eller locales/*.json filer direkte. Nøgler forbliver intakte, indlejring bevares, og interpolationsvariabler forbliver uændrede. Placer filerne i din messages-mappe og deploy.

🗄️

CMS indholdseksport

Headless CMS-platforme eksporterer ofte struktureret indhold som JSON. PolyLingo oversætter strengværdierne, mens feltnavne, indlejrede indholdstyper og ikke-streng værdier som datoer, booleske værdier og ID'er bevares.

⚙️

API-svar og konfigurationsfiler

Enhver JSON-struktur med oversættelige strengværdier — produktbeskrivelser, notifikationsskabeloner, in-app tekst serveret via API — kan oversættes uden at ændre den struktur, din applikation er afhængig af.

Ofte stillede spørgsmål om JSON-oversættelse

Bevares interpolationsvariabler som {name} eller {{count}}?

Ja. PolyLingo identificerer almindelige interpolationsmønstre inklusive {variable}, {{variable}}, %(variable)s og %s før oversættelse. Disse erstattes med stabile pladsholdere, den omgivende tekst oversættes, og de oprindelige variabelnavne genindsættes i outputtet. Oversættelsesmodellen ser aldrig variabelnavnene som oversætteligt indhold.

Hvad sker der med ikke-streng værdier — tal, booleske værdier, null?

Ikke-streng værdier sendes igennem fuldstændigt uændret. PolyLingo oversætter kun strengværdier, der indeholder naturligt sprog. Tal, booleske værdier, null-værdier og arrays af ikke-strenge bevares præcis som i kilden.

Kan PolyLingo håndtere dybt indlejrede JSON-strukturer?

Ja. PolyLingo gennemgår rekursivt objekter med vilkårlig indlejringsdybde. Oversættelsen gælder for alle strengværdier i hele strukturen, uanset hvor dybt de er indlejret.

Hvad hvis nogle nøgler indeholder ikke-oversætteligt indhold som slugs eller koder?

PolyLingo oversætter som standard alle strengværdier. Hvis du har strengfelter, der ikke skal oversættes — slugs, sprogkoder, tekniske identifikatorer — anbefales det enten at udelade dem fra den JSON, du sender, eller bruge det eksplicitte formatparameter og angive felter, der skal springes over (kommer snart). For de fleste lokaliseringsfiler er alle strengværdier beregnet til at blive oversat.

Fungerer det med JSON5 eller JSONC (JSON med kommentarer)?

I øjeblikket behandler PolyLingo standard JSON. JSON5 og JSONC (med kommentarer) bør forbehandles for at fjerne kommentarer og konverteres til standard JSON før afsendelse. Dette er et almindeligt trin i build-pipelines og tilføjer minimal overhead.

Hvor mange sprog kan jeg målrette i én forespørgsel?

Op til alle 36 understøttede sprog i en enkelt forespørgsel. Svaret indeholder ét oversat JSON-objekt per sprogkode. Ratebegrænsninger varierer efter plan — gratisniveauet tillader 10 forespørgsler per minut, mens Growth og Scale planer tillader 200–600 forespørgsler per minut.

Oversæt dine lokaliseringsfiler på sekunder.

Indsæt din JSON, vælg dine sprog, og få gyldige lokaliseringsfiler tilbage for hvert målsprog.

Begynd at oversætte gratis

Indsæt din lokaliserings-JSON og se outputtet — gratis, ingen konto nødvendig.

Oversæt JSON lokaliseringsfiler uden at ændre dine nøgler — PolyLingo | PolyLingo