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.
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.
{
"nav_home": "Home",
"nav_pricing": "Pricing",
"hero_title": "Grow your audience globally",
"hero_cta": "Get started for free",
"footer_rights": "All rights reserved."
}{
"nav_home": "Accueil",
"nav_pricing": "Tarifs",
"hero_title": "Développez votre audience mondiale",
"hero_cta": "Commencer gratuitement",
"footer_rights": "Tous droits réservés."
}{
"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"
}
}{
"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"
}
}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
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.
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.
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.
Relaterede guider
Tilføj flersproget til Next.js
Hvordan PolyLingo passer ind i en next-intl eller next-i18next arbejdsgang.
Oversæt Markdown uden at ødelægge formatering
For indhold, der ligger i .md-filer i stedet for JSON.
Flersproget til headless CMS
Oversættelse af Sanity, Contentful og Webflow indhold på CMS-niveau.
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 gratisIndsæt din lokaliserings-JSON og se outputtet — gratis, ingen konto nødvendig.