PTC

Translate JSON Files Online with AI

Translate JSON files into 40+ languages with AI. PTC (Private Translation Cloud) learns your product's vocabulary and visually reviews the running app, so you ship without manual QA per language.

Drop in a flat or nested .json resource file from any web or mobile project. PTC returns drop-in-ready translations in minutes.

Start your free 30-day trial - translate your JSON file right now

  • 20,000 words into 2 languages, free
  • 40+ languages supported
  • Visual translation review of the running app included
  • ISO 27001 certified - security and compliance off your list
  • No credit card required

Start free trial

Translate your JSON file in 3 steps

  1. Start a project and pick your source language. PTC uses the source to choose the right MT engine. It also skips strings that already match the target, such as URLs, brand names, and untranslatable identifiers.
  2. Upload your .json file. PTC parses the structure. It supports nested JSON, plurals, and common placeholder formats out of the box. That includes {{name}} and %s. No configuration is required. The word count is shown before you commit any free-trial quota.
  3. Choose target languages and confirm. PTC translates each value. It keeps every key, every nesting level, and every placeholder in place. Download a ZIP with one translated .json per language when the run finishes.

The free trial covers 20,000 words into 2 languages with no credit card. That is enough to translate most app resource files end-to-end before you decide whether to subscribe.

What sets PTC apart for JSON translation

Each item below links to the detailed section further down the page.

PTC learns your product's vocabulary and brand voice

PTC analyses your source file on upload. It generates a product description and uses that description to set the tone and terminology of every translation.

If your app calls a record a "Workspace" rather than a "Project", PTC keeps that distinction across every target language. The same description carries over to every future update to the same project. You can review and edit the auto-generated description before translation runs.

Most generic AI tools see a JSON value like "Run" and translate it without knowing whether the user means "execute a scan" or "go for a run". PTC learns your terminology first. 99.5% of translations go live without any edits.

Visual translation review of your running app - ship without manual QA per language

A translated .json file is necessary, but it is not sufficient. The translated keys may render correctly in your React or Vue app. They may also overflow a button, sit awkwardly inside a tooltip, or expose a string you forgot to wrap in t(). None of those problems are visible from the file alone.

PTC's visual translation review closes the loop. For browser-based apps (React, Vue, Angular, plain HTML), install the PTC browser extension. Record a short walkthrough of your app once. From then on, PTC replays the recording after every translation update. It captures each screen in each language and inspects the rendered result.

PTC fixes what it controls. Issues in the JSON file (a long German label, a wrong sense of "Submit") are corrected automatically. Issues in your component code (a hardcoded English string outside t()) come back as a copy-paste prompt for Cursor or Claude Code.

The deliverable is not a translated en.json. The deliverable is a verified, multilingual app, ready to ship.

Translation memory and length-aware rewrites

PTC keeps terminology consistent across your product. Translate a string once, and every subsequent run uses the same translation for the same source. Update a string later, and the new translation respects the prior choices PTC made on related strings.

When a target translation is too long for your UI, the AI rewrites it to fit instead of overflowing. PTC knows that German labels usually run 30% longer than English. A button label that worked in English does not need a button width fix in German if PTC produced a shorter synonym during translation.

Library-aware placeholder fidelity

PTC understands the placeholder syntax of the major i18n libraries:

  • i18next and react-i18next. {{name}}, {{count}}, $t(common.save) nested keys, plural suffixes (_one, _other, _few).
  • FormatJS and react-intl. ICU MessageFormat. For example: {count, plural, one {# item} other {# items}} or {gender, select, ...}.
  • vue-i18n. Named ({name}) and list ({0}) interpolations. Plural pipe (item | items).
  • next-intl. ICU MessageFormat with namespaced messages.
  • WordPress JSON exports of PO data.
  • Plain JSON resource files. Any keys, any nesting, any placeholder convention you declare via the glossary.

Example input and output:

// en.json
{
  "header": {
    "welcome": "Welcome, {{name}}!",
    "items": "You have {{count}} new message",
    "items_other": "You have {{count}} new messages"
  }
}
// es.json - PTC output
{
  "header": {
    "welcome": "Bienvenido, {{name}}!",
    "items": "Tienes {{count}} mensaje nuevo",
    "items_other": "Tienes {{count}} mensajes nuevos"
  }
}

Every key remains intact. Every placeholder stays in the right position. Every plural form is generated.

Key preservation and nested-structure safety

PTC never translates, renames, or drops a key. A header.welcome in your source file is a header.welcome in every target language. Deeply nested objects, arrays of objects, and mixed plain-string / object values are walked recursively. PTC translates only the leaf strings.

Generic AI tools often translate keys as well as values (which breaks your file) or escape line breaks incorrectly (turning \n into a literal \n). PTC respects the JSON specification and the conventions of every i18n library it supports.

Automate JSON translation with Git

For continuous projects, point PTC at your GitHub, GitLab, or Bitbucket repository. Let PTC watch your locales/en.json (or wherever your source-of-truth JSON lives). When PTC detects changes to your source file, it translates the updated strings. It then opens a merge request with the new translated files. Review and merge when ready.

# .github/workflows/translate.yml
name: PTC translate
on:
  push:
    paths: ['src/locales/en.json']
jobs:
  translate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Trigger PTC translation
        run: |
          curl -X POST https://api.ptc.wpml.org/v1/projects/${{ secrets.PTC_PROJECT_ID }}/sync \
            -H "Authorization: Bearer ${{ secrets.PTC_API_KEY }}"

Prefer to keep repository access out of the equation? PTC also integrates with your CI/CD pipeline via the REST API. See the PTC API reference for the full sync, webhook, and pull-request automation flow.

Translate release notes, marketing copy, and customer emails

Your release is more than the JSON file. Release notes for your app, in-app help text, marketing copy on your landing page, and customer emails all live outside en.json. PTC's Paste to Translate handles that copy in the same project. Paste the source text, choose target languages, get back translations that use the same glossary and brand voice as your in-app strings.

Translate dynamic and user-generated content with the PTC API

User posts, comments, chat messages, and any content your SaaS app stores as user input need translation as it arrives. The PTC REST API translates this content on demand with Bearer-token authentication, using the same glossary and brand voice as your in-app strings.

Pricing: 30-day free trial, then Pay-As-You-Go

The free trial covers 20,000 words into 2 languages with no credit card. When the trial ends, PTC offers Pay-As-You-Go. No subscription. No minimum commitment. The first 500 words every month are free, and you only pay for the rest. The pricing page has a cost calculator. Sign up with a company email for an extended business trial.

PTC is ISO 27001 certified

PTC handles your data and your users' data to internationally recognized security standards. Your security and compliance team can sign off without extra review.

Ready to ship verified translations?

Upload your .json file. PTC translates it into 40+ languages and visually reviews the rendered result in every one - whether that is a web app or a mobile screen. You ship with confidence.

Start your free 30-day trial - 20,000 words into 2 languages, no credit card required.

For the full step-by-step on internationalizing a React app, see the React tutorial. For Git-driven automation in detail, see the PTC API reference.