Forbes India Leader Recognition
e.preventDefault(); // Prevent form submission input.blur(); // remove focus input.value = ""; // optional: clear the input

Localisation using react-intl

Localisation using react-intl

Featured Image

Introduction

React-Intl, part of the FormatJS set of libraries used for Internationalization. Internationalization is the mechanism used for localization for the visitor belonging to different regions and languages. To use the react-intl you need to wrap up you main component with <IntlProvider></IntlProvider>. This will allow low level components to access via props.

Installation

 $ yarn add react-intl or

 $ npm install --save react-intl

Localisation using react-intl

Wrap react app using IntlProvider

After installation we can wrap our root component using IntlProvider. To achieve the localisation we have to wrap the App component with IntlProvider as given below.

import React from 'react';

import App from './App';

import { Provider } from 'react-redux'

import { IntlProvider } from "react-intl";

import English from "./lang/new-en.json";

import Spanish from "./lang/es.json";

const messages = {

 en: English,

 es: Spanish

};

render(

 <IntlProvider locale="es" messages={messages.es}>

   <Provider store={store}>

     <App />

   </Provider>

 </IntlProvider>,

 document.getElementById('root')

)

Translations Text

Translation text contains the string that we want to show on the visitor window based on their locale.

Create separate file for different region and language given below

en.json
 
{

   "landing.LANDING_HEADING": {

       "defaultMessage": "Welcome to the world"

     }
}


es.json

{
   "landing.LANDING_HEADING": {

       "defaultMessage": "Bienvenido a la primera"

     }
}

Translate text using FormattedMessage

Now you have to wrap the text in  <FormattedMessage id={} value={} defaultMessage={} description={}/ >

Id: id accepts the common name for a text from all languages

Value: value accepts a unique value for the FormattedMessage tag

DefaultMessage: defaultMessage accepts a message for take which should display by default.

Description: description allow some information about the text.

import { FormattedMessage } from "react-intl";

<FormattedMessage

                  id="landing.LANDING_HEADING"

                  defaultMessage="Welcome To World"

                  description="Welcome To World"

                  value="Welcome To World"
          />

Now refresh your browser window and the welcome string changes save to reload.

Conclusion 

React-Intl is used to localize the react application. It provides an api and component to format text and content.  We should translate every user visible string such as tooltip and numbers also.

Related Posts

Latest Posts

  • All Posts
  • AI Powered Knowledge
  • ai/ml
  • CEO India Magazine
  • CMMI level 5 Certification
  • e-learning
  • Fintech
  • gaming
  • Generative AI
  • healthcare
  • manufacturing
  • News
  • OTT
  • Portfolio
  • supply chain
  • travel and hospitality
  • Tudip's AI Hackathon
  • Voxlearn Enterprises
    •   Back
    • Android
    • iOS
    • Java
    • PHP
    • MEAN
    • Ruby
    • DotNet
    • IoT
    • Cloud
    • Testing
    • Roku
    • CMS
    • Python
The Future of Workplace Learning: AI-Powered Knowledge on Demand

The Future of Workplace Learning: AI-Powered Knowledge on Demand

June 12, 2026

A few months ago, I was sitting in a meeting with a team lead who looked genuinely frustrated. Not because…

Read More
We Did It Again: Tudip Successfully Renews Its CMMI Level 5 Certification

We Did It Again: Tudip Successfully Renews Its CMMI Level 5 Certification

June 9, 2026

Nobody around here needed a memo to know something worth celebrating had happened. The message from the CMMI Institute said…

Read More
CEO India Magazine Features Dipti Agrawal: The Woman Behind Intelligent Enterprise Solutions

CEO India Magazine Features Dipti Agrawal: The Woman Behind Intelligent Enterprise Solutions

June 9, 2026

There are moments at work that just stop you in your tracks. Not the big quarterly reviews or the product…

Read More

India

Plot No. 11/2, Phase 3, Hinjewadi Rajiv Gandhi Infotech Park, Pune, India – 411057.
info@tudip.com
+91-96-8990-0537

United States

1999 S. Bascom Ave Suite 700, Campbell CA. 95008, USA.
info@tudip.com
+1-408-216-8162

Canada

64 Caracas Road North York, Toronto Ontario M2K 1B1, Canada.
info@tudip.com

Mexico

Calle Amado Nervo #785 Interior B Colonia Ladron De Guevara 44600 Guadalajara, Jalisco, Mexico.
info@tudip.com

Singapore

77 High Street, #10-12B High Street Plaza, Singapore 179433.
info@tudip.com

Colombia

Cra. 9 # 113-53 Of. 1405 Bogotá D.C., Colombia.
info@tudip.com

UAE

Tudip Information Technologies L.L.C Office No 109, ABU HAIL BUILDING 13, Abu Hail, Dubai, UAE.
info@tudip.com

Nigeria

22 Kumasi Crescent, Wuse 2, Abuja, Nigeria.
info@tudip.com