Skip to main content

Blog

How can I add multilingual support to a React app?

· 8 min read

Adding multilingual support (also known as internationalization or i18n) to a React application is essential if you want to reach a global audience. While React doesn't include built-in i18n functionality, there are several excellent libraries and approaches you can use to implement multilingual support in your React app.

In this guide, we'll walk through the most common approaches, from simple solutions for small projects to more robust solutions for production applications.

Introducing the Sejhey REST API

· 8 min read

The Sejhey REST API provides programmatic access to all translation management features in your Sejhey projects. Built on standard REST principles, the API enables you to integrate translation workflows into your applications, automate localization processes, and build custom tools that interact with your translation data.

We just released the SejHey i18n plugin for React

· 2 min read

Say goodbye to clunky translation workflows! @sejhey/react-i18n makes in-context editing effortless, letting you update and preview translations directly in your app. With fast CDN-based loading, your multilingual content stays lightning quick, while hooks and components make rendering dynamic translations a breeze. Perfect for React developers who want real-time localization without the hassle.

The React plugin is a fully integrated SDK that takes care of everything for you. Built in support for Next.js, caching, and more means you can focus on building your app while we handle the localization.

AI in translation workflows

· 4 min read

Context is key

Today we'll talk about about context. Traditional translation tools often struggle with understanding the context of phrases, leading to awkward or incorrect translations. Using traditional models like Google Translate, you might end up with translations that miss the mark, especially in nuanced or technical content.

With AI-powered tools like SejHey, context is no longer an afterthought — it's a foundational feature. Each key in your project can carry its own description, usage notes, and even tone. This means translations aren’t just word-for-word conversions; they’re adapted to how the text is meant to be used.

Tone-aware and context-sensitive translations

Let’s take a common phrase like:

  • Key: cta.signup.button
  • Default: “Join us”

Depending on your product, this might appear on a pricing page, a landing page, or even inside a mobile app. And depending on your tone — formal, friendly, playful — the translation should reflect that. Here's how that works in practice:

🇫🇷 French

  • Playful tone: “Rejoins-nous !”
  • Formal tone: “Inscrivez-vous”
  • With context (“This appears on a membership pricing page”): “Adhérez maintenant”

🇩🇪 German

  • Playful: “Mach mit!”
  • Formal: “Jetzt beitreten”
  • With context (“This is part of a call to action for a team-based tool”): “Dem Team beitreten”

🇸🇪 Swedish

  • Casual: “Häng med!”
  • Neutral/business: “Gå med”
  • With context (“CTA to sign up for a premium service”): “Bli medlem”

Each of these variants may be correct — but only when they fit the tone and context. That’s where traditional translation platforms fall short. SejHey makes this manageable by letting you define the tone of your app overall (like playful, serious, corporate), and then fine-tune individual keys with specific usage context.

Ambiguity resolved by context

Consider the word “Charge”.

  • Is it about billing?
  • Is it a call to action (“Charge ahead!”)?
  • Is it about battery level?

AI models can distinguish these based on your context annotations. For example:

KeyDefault textContextFrench Translation
billing.charge_fee“Charge”Shown on invoice or payment receipt“Frais”
action.charge“Charge!”A game button in a fantasy RPG“À l’attaque !”
battery.status“Charging”Shown next to battery icon in status bar“En charge”

With the right context provided, AI doesn’t just guess — it understands.

The translation process at SejHey

At SejHey, we’ve reimagined the translation process from the ground up, blending the power of AI with the precision and control professionals expect. Our goal isn’t to replace human judgment — it’s to empower it.

Step 1: Define your tone and audience

Before you translate a single string, you can define the overall tone of your project. Whether your brand voice is playful, formal, friendly, or technical, SejHey uses this to steer AI suggestions in the right direction from the start.

🎯 Example: A productivity tool with a calm, professional tone will get very different translations from a mobile game targeting teens.

Step 2: Add context to each key

Every key in SejHey can carry additional metadata about the context in which it’s used:

💡 Example: For a key like cta.signup.button: "Used on the pricing page, tone is friendly, and it’s a call to action for new users."

This eliminates ambiguity and lets AI (or humans) make better choices — not just literal ones.

Step 3: AI-assisted translation

At any time in the translation process, you can leverage AI to generate initial translations. SejHey uses advanced models that understand your defined tone and context, producing suggestions that are:

  • Context-aware: Knows where and how the key is used
  • Tone-sensitive: Matches the overall voice of your project
  • Glossary-compliant: Respects your defined terminology and glossary terms

Step 4: Human review and collaboration

AI gives you speed, but humans give you finesse. Once AI generates translations, you can:

  • Change, refine, or approve translations
  • Add comments to clarify intent or suggest improvements

Step 5: Export and deliver

When translations are ready, you can:

  • Export them in your preferred format (JSON, XLIFF, etc.)
  • Deliver via CDN/OTAA ( Over-The-Air App Updates) for instant updates
  • Integrate with your build pipeline or deploy directly to production with versioning

Do you want to learn more? Go to app.sejhey.com and let us know what you think!

SejHey Beta is Live

· 2 min read

We’re thrilled to announce the beta launch of SejHey, a new platform designed to streamline the entire translation workflow — from importing files to deploying language updates via CDN.

Best Tools for Translating React Interfaces with Localization Support

· 16 min read

If you're building a React application that needs to support multiple languages, you've probably discovered that React doesn't include internationalization (i18n) out of the box. Unlike some frameworks, React requires you to bring your own solution for handling translations, language switching, and formatting dates or numbers according to different locales.

The good news is that the React ecosystem has matured significantly when it comes to localization. There are now several solid options for implementing React i18n, each with different approaches to solving the same fundamental problem: making your React components display content in multiple languages.

In this guide, we'll walk through the most popular React localization libraries and tools available today. We'll look at what makes each one unique, when you might choose one over another, and what to consider when implementing React internationalization in your own projects.