JSON-käännös

Käännä JSON-lokalisointitiedostot muuttamatta avaimiasi.

Avaimet pysyvät avaimina. Sisäkkäisyys säilyy ehjänä. Vain merkkijonojen arvot käännetään — ja vain merkkijonojen arvot. Kaikki muut ominaisuustyypit palautuvat täsmälleen sellaisina kuin ne lähetettiin.

Avaimet
aina säilytetty
Sisäkkäiset
objektit käsitelty rekursiivisesti
36
tulostuskielet per pyyntö
100K
ilmaiset tokenit / kuukausi

Tavalliset käännöstyökalut eivät ymmärrä JSONia.

Yleiset käännösrajapinnat näkevät JSONisi pelkkänä tekstiseinänä. Ne kääntävät avaimien nimet yhdessä arvojen kanssa. Ne litistävät sisäkkäiset objektit. Ne yhdistävät merkkijonoja, joita ei pitäisi yhdistää. Palautuva JSON on rakenteellisesti rikkinäinen ja vaatii manuaalista korjausta ennen käyttöä. Jos ylläpidät lokalisointitiedostoja tuotantosovellukselle, tiedät, että niiden syöttäminen tavalliseen käännösrajapintaan aiheuttaa enemmän työtä kuin säästää.

Ongelma on syvällisempi kuin pelkät avaimet. Tavalliset käännösrajapinnat myös sotkevat interpolointimuuttujat. Merkkijono kuten "Hello {name}, you have {count} messages" palautuu muuttujanimet käännettyinä — "Hola {nombre}, tienes {cuenta} mensajes" — mikä rikkoo kaikki ajonaikaiset ympäristöt, jotka odottivat alkuperäisiä muuttujanimiä. Seuraa tunteja kestävä virheenkorjaus.

Tiimeille, jotka ylläpitävät lokalisointitiedostoja monilla kielillä tuotantosovellukselle, tämä ei ole teoreettinen huoli. Se on jo tapahtunut. Kysymys on, kuinka kauan manuaalinen korjausprosessi kestää joka kerta.

PolyLingo käy JSONisi läpi ennen käännöstä.

PolyLingo ymmärtää JSON-rakenteen. Se käy rekursiivisesti läpi objektisi, tunnistaa käännettävät merkkijonot ja lähettää vain ne käännösmallille. Avaimien nimiä ei koskaan muuteta. Numerot, totuusarvot, null-arvot ja ei-merkkijonotyypit kulkevat läpi muuttumattomina. Lopputulos on kelvollinen JSON, jonka rakenne on identtinen — vain merkkijonojen arvot on käännetty.

Interpolointimuuttujat — {name}, {{count}}, %s ja vastaavat mallit — tunnistetaan ja säilytetään koko käännösprosessin ajan. Ne korvataan paikkamerkeillä ennen käännöstä ja palautetaan alkuperäiseen muotoonsa tulosteessa. Käännösmalli ei koskaan näe niitä käännettävänä tekstinä.

Taulukot käsitellään oikein: jokainen merkkijonoelementti käännetään, kun taas numeeriset indeksit ja taulukkorakenne säilyvät muuttumattomina. Sekalaiset taulukot, jotka sisältävät sekä merkkijonoja että ei-merkkijonoja (numerot, objektit), käsitellään oikein siten, että ei-merkkijonotyypit kulkevat läpi muuttumattomina.

Syöte — litteä JSON-lokalisointi (englanti)
{
  "nav_home": "Home",
  "nav_pricing": "Pricing",
  "hero_title": "Grow your audience globally",
  "hero_cta": "Get started for free",
  "footer_rights": "All rights reserved."
}
Tuloste — ranska (avaimet identtiset)
{
  "nav_home": "Accueil",
  "nav_pricing": "Tarifs",
  "hero_title": "Développez votre audience mondiale",
  "hero_cta": "Commencer gratuitement",
  "footer_rights": "Tous droits réservés."
}
Syöte — sisäkkäinen JSON-lokalisointi (englanti)
{
  "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"
  }
}
Tuloste — espanja (rakenne säilytetty)
{
  "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-pyyntö — käännä 5 kielelle yhdellä kutsulla
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\"}",
#     ...
#   }
# }

Mitä PolyLingo takaa jokaiselle JSON-käännökselle

  • Avaimien nimiä ei koskaan muuteta
  • Sisäkkäiset objektit ja taulukot käsitellään rekursiivisesti
  • Numerot, totuusarvot ja null-arvot kulkevat läpi muuttumattomina
  • Kaikki 36 kieltä yhdellä pyynnöllä
  • Automaattinen JSON-tunnistus — ei tarvetta formaattilipulle
  • Toimii sekä litteiden että syvästi sisäkkäisten lokalisointitiedostojen kanssa
  • Interpolointimuuttujat ({name}, {{count}}, %s) säilytetään täsmälleen
  • Tuloste on kelvollista JSONia — jäsentyy ilman muutoksia

Kolme askelta käännettyihin lokalisointitiedostoihin

1

Liitä JSONisi tai kutsu APIa

Käytä kooditonta kääntäjää kertakäyttöisiin käännöksiin: liitä JSONisi, valitse kielet, lataa käännetyt tiedostot. Automaatioon kutsu POST /v1/translate JSON-sisällöllä ja kohdekielikoodeilla.

2

Vastaanota kaikki kielet yhdessä vastauksessa

API palauttaa JSON-objektin, jossa on yksi merkintä per kohdekieli, sisältäen täysin käännetyn lokalisointitiedoston identtisellä rakenteella. Ei kielikohtaisia kutsuja. Ei silmukoita. Yksi pyyntö kaikille tulosteille.

3

Tallenna tulosteet messages-kansioosi

Kirjoita jokainen käännetty tiedosto polkuun messages/es.json, messages/fr.json, messages/de.json — tai mihin tahansa i18n-kirjastosi odottaa niitä. Rakenne on identtinen lähdetiedostosi kanssa, joten lisäkäsittelyä ei tarvita.

Missä JSON-käännös on tärkeintä

🌐

Sovelluksen i18n next-intl- tai i18next-kirjastoilla

Käännä messages/*.json- tai locales/*.json-tiedostosi suoraan. Avaimet pysyvät muuttumattomina, sisäkkäisyys säilyy ja interpolointimuuttujat kulkevat läpi muuttumattomina. Pudota tiedostot messages-kansioon ja ota käyttöön.

🗄️

CMS-sisällön vienti

Headless CMS -alustat vievät usein rakenteellista sisältöä JSON-muodossa. PolyLingo kääntää merkkijonojen arvot säilyttäen kenttien nimet, sisäkkäiset sisältötyypit ja ei-merkkijonot kuten päivämäärät, totuusarvot ja tunnisteet.

⚙️

API-vastaukset ja konfiguraatiotiedostot

Mikä tahansa JSON-rakenne, jossa on käännettäviä merkkijonoarvoja — tuotteen kuvaukset, ilmoitusmallit, sovelluksen sisäinen teksti API:n kautta — voidaan kääntää muuttamatta sovelluksen tarvitsemaa rakennetta.

Usein kysytyt kysymykset JSON-käännöksestä

Säilyvätkö interpolointimuuttujat kuten {name} tai {{count}}?

Kyllä. PolyLingo tunnistaa yleiset interpolointimallit kuten {variable}, {{variable}}, %(variable)s ja %s ennen käännöstä. Ne korvataan vakioiduilla paikkamerkeillä, ympäröivä teksti käännetään ja alkuperäiset muuttujanimet palautetaan tulosteeseen. Käännösmalli ei koskaan näe muuttujanimiä käännettävänä sisältönä.

Mitä tapahtuu ei-merkkijonoarvoille — numeroille, totuusarvoille, nullille?

Ei-merkkijonoarvot kulkevat täysin muuttumattomina läpi. PolyLingo kääntää vain luonnollista kieltä sisältävät merkkijonot. Numerot, totuusarvot, null-arvot ja ei-merkkijonoista koostuvat taulukot säilyvät täsmälleen sellaisina kuin lähteessä.

Pystyykö PolyLingo käsittelemään syvästi sisäkkäisiä JSON-rakenteita?

Kyllä. PolyLingo käy rekursiivisesti läpi minkä tahansa syvyisen objektin. Käännös koskee kaikkia merkkijonoarvoja rakenteessa riippumatta niiden sisäkkäisyydestä.

Entä jos jotkut avaimet sisältävät kääntämätöntä sisältöä kuten slugeja tai koodeja?

PolyLingo kääntää oletuksena kaikki merkkijonot. Jos sinulla on merkkijonokenttiä, joita ei pitäisi kääntää — slugit, kielikoodit, tekniset tunnisteet — suositeltu tapa on joko jättää ne pois lähetettävästä JSONista tai käyttää eksplisiittistä format-parametria ja määrittää ohitettavat kentät (tulossa pian). Useimmissa lokalisointitiedostoissa kaikki merkkijonot on tarkoitettu käännettäväksi.

Toimiiko se JSON5:n tai JSONC:n (kommenteilla varustetun JSONin) kanssa?

Tällä hetkellä PolyLingo käsittelee standardia JSONia. JSON5 ja JSONC (kommenteilla) tulee esikäsitellä poistamalla kommentit ja muuntamalla standardiksi JSONiksi ennen lähettämistä. Tämä on yleinen vaihe build-putkissa ja aiheuttaa vain pienen lisäkuorman.

Kuinka monta kieltä voin kohdistaa yhdellä pyynnöllä?

Jopa kaikki 36 tuettua kieltä yhdellä pyynnöllä. Vastaus sisältää yhden käännetyn JSON-objektin per kielikoodi. Kutsurajat vaihtelevat suunnitelman mukaan — ilmaisversio sallii 10 pyyntöä minuutissa, Growth- ja Scale-suunnitelmat 200–600 pyyntöä minuutissa.

Käännä lokalisointitiedostosi sekunneissa.

Liitä JSONisi, valitse kielet, saat kelvolliset lokalisointitiedostot jokaiselle kohdekielelle.

Aloita ilmainen käännös

Liitä lokalisointisi JSON ja katso tulos — ilmaiseksi, ilman tiliä.

Käännä JSON-lokalisointitiedostot muuttamatta avaimiasi — PolyLingo | PolyLingo