Web apps

Translate i18next and react-intl JSON without breaking placeholders

Parla translates i18next, react-intl and vue-i18n JSON files and checks every {{name}}, {count}, ICU plural and select, $t() nesting and <0>…</0> Trans tag against the source in code. Plural keys like items_one and items_other are written with the forms each language needs. Broken strings can't be approved or exported.

Plans from $29 a month; free to start with 1,000 AI-translated words a month.

What Parla understands in your JSON

  • Nested and flat files, written back in the same shape.
  • i18next v4 plurals: items_one / items_other are treated as one string, and Russian or Polish get _few and _many keys added; Japanese gets only _other.
  • Interpolation {{name}}, nesting $t(key), and react-i18next <0>…</0> or <bold>…</bold> component tags.
  • ICU MessageFormat inside values (react-intl, FormatJS, vue-i18n): {name}, {count, plural, one {# item} other {# items}} and {gender, select, …}.

What blocks a string

Each of these stops a translation from being approved and from reaching an exported file, so the bug never ships:

  • {{count}} missing, or renamed to {{nombre}}.
  • A <1> tag without its </1>, or a tag the source doesn't have.
  • A select option translated ("male" becoming "homme"), since select keys are code values.
  • An ICU plural without "other", or an unbalanced brace.

An example

en.json → de.json

"cart_one": "{{count}} item"            →  "cart_one": "{{count}} Artikel""cart_other": "{{count}} items"         →  "cart_other": "{{count}} Artikel""invite": "<0>{{name}}</0> invited you"  →  "invite": "<0>{{name}}</0> hat dich eingeladen"

Fits your release flow

  • Upload en.json each release: new and changed keys are found and only those are translated.
  • Pull and push through a GitHub pull request, or call the API from CI.
  • Key names such as checkout.pay_button tell the AI where a string lives; add a description or character limit where it matters.

Questions

Does Parla support i18next plural suffixes?

Yes, the v4 suffixes _zero, _one, _two, _few, _many and _other. They are grouped into one string for translation and review, and written back with the keys the target language needs, so a Russian file gets _one, _few, _many and _other.

Will it translate the text inside react-i18next Trans tags?

Yes. The text between <0> and </0> is translated, and the tags themselves must come back exactly. A translation that drops or adds a tag is blocked.

Questions buyers ask

Does Parla work with react-i18next?

Yes. Parla reads i18next JSON, groups _one and _other plural keys and writes the forms each language needs, and checks {{name}}, $t() nesting and <0>…</0> Trans tags against the source. A translation that drops a tag or placeholder is blocked from export until a person fixes it.

Part of the New Odyssey suite

Six tools for the work around your clients, from being found to packaging what you know. Each one works on its own.

  1. KleosGets you found
  2. OndaAnswers the inquiry
  3. BookaraQualifies and books
  4. AccordSends the proposal
  5. TallynOnboards the client
  6. AulaPackages your expertise