Table of Contents
国际化示例
Home Web Front-end JS Tutorial How to use React and JavaScript to achieve front-end international support

How to use React and JavaScript to achieve front-end international support

Sep 26, 2023 am 08:43 AM
react javascript International support

How to use React and JavaScript to achieve front-end international support

How to use React and JavaScript to achieve front-end international support

With the development of globalization, more and more applications need to support multi-language environments. In order to meet the different language needs of users, it has become a necessary task to implement international support in front-end development. In this article, I will introduce how to use React and JavaScript to implement internationalization support on the front end, and provide specific code examples.

First, we need to prepare some international resource files. Resource files are usually a structure of key-value pairs, where the key represents the text that needs to be translated and the value represents the corresponding translation result. We can store these resource files in JSON format, each file corresponding to a language. For example, we have an English resource file named en.json and a Chinese resource file named zh.json.

Next, we can create a file called i18n.js and define a React context in it. This context will be used to save the currently selected language and provide a function to get the translation results. Here is a simple example:

// i18n.js
import React from 'react';

const availableLanguages = ['en', 'zh'];

const translations = {
  en: require('./en.json'),
  zh: require('./zh.json'),
};

export const I18nContext = React.createContext();

export function I18nProvider({ children }) {
  const [language, setLanguage] = React.useState('en');

  const translate = (key) => {
    return translations[language][key];
  };

  const switchLanguage = (lang) => {
    if (availableLanguages.includes(lang)) {
      setLanguage(lang);
    }
  };

  return (
    <I18nContext.Provider value={{ language, switchLanguage, translate }}>
      {children}
    </I18nContext.Provider>
  );
}
Copy after login

In the above code, we have defined the availableLanguages array to store the available language options. translationsThe object stores the contents of all resource files. The I18nProvider component accepts a children attribute to wrap the entire application and provide internationalization support. translateThe function accepts a key and returns the corresponding translation result. The switchLanguage function is used to switch languages. It will only take effect when the incoming language is in the availableLanguages array.

In the entry file of the application, we need to use the I18nProvider component to wrap the entire application and provide a language selection interface. Here is an example:

// App.js
import React from 'react';
import { I18nProvider } from './i18n';

function App() {
  return (
    <I18nProvider>
      <div>
        <h1 id="国际化示例">国际化示例</h1>
        <LanguageSwitcher />
        <WelcomeMessage />
      </div>
    </I18nProvider>
  );
}

function LanguageSwitcher() {
  const { switchLanguage } = React.useContext(I18nContext);
  
  const handleLanguageChange = (event) => {
    switchLanguage(event.target.value);
  };

  return (
    <select onChange={handleLanguageChange}>
      <option value="en">English</option>
      <option value="zh">中文</option>
    </select>
  );
}

function WelcomeMessage() {
  const { language, translate } = React.useContext(I18nContext);

  return <p>{translate('welcome')}</p>;
}

export default App;
Copy after login

In the above code, we first import the I18nProvider component and I18nContext context. In the App component, we wrap the entire application with I18nProvider and place a title, language selector, and welcome message inside it. The LanguageSwitcher component obtains the switchLanguage function in I18nContext through the useContext hook, and uses the onChange of the language selector This function is called in the event. The WelcomeMessage component uses the useContext hook to obtain the translate function in I18nContext and displays the translation results on the page.

Finally, we need to provide the corresponding translation content in the resource file. Here are examples of en.json and zh.json:

// en.json
{
  "welcome": "Welcome to React Localization Example"
}

// zh.json
{
  "welcome": "欢迎使用 React 国际化示例"
}
Copy after login

Now when the user selects a different language, the translation results in the application will be automatically renew.

To sum up, we can use React and JavaScript to achieve front-end international support. By creating a context and providing translation functions, we can easily use multiple locales in our application. I hope this article can bring you some useful information and sample code so that you can better implement front-end international support.

The above is the detailed content of How to use React and JavaScript to achieve front-end international support. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP, Vue and React: How to choose the most suitable front-end framework? PHP, Vue and React: How to choose the most suitable front-end framework? Mar 15, 2024 pm 05:48 PM

PHP, Vue and React: How to choose the most suitable front-end framework? With the continuous development of Internet technology, front-end frameworks play a vital role in Web development. PHP, Vue and React are three representative front-end frameworks, each with its own unique characteristics and advantages. When choosing which front-end framework to use, developers need to make an informed decision based on project needs, team skills, and personal preferences. This article will compare the characteristics and uses of the three front-end frameworks PHP, Vue and React.

Integration of Java framework and front-end React framework Integration of Java framework and front-end React framework Jun 01, 2024 pm 03:16 PM

Integration of Java framework and React framework: Steps: Set up the back-end Java framework. Create project structure. Configure build tools. Create React applications. Write REST API endpoints. Configure the communication mechanism. Practical case (SpringBoot+React): Java code: Define RESTfulAPI controller. React code: Get and display the data returned by the API.

Simple JavaScript Tutorial: How to Get HTTP Status Code Simple JavaScript Tutorial: How to Get HTTP Status Code Jan 05, 2024 pm 06:08 PM

JavaScript tutorial: How to get HTTP status code, specific code examples are required. Preface: In web development, data interaction with the server is often involved. When communicating with the server, we often need to obtain the returned HTTP status code to determine whether the operation is successful, and perform corresponding processing based on different status codes. This article will teach you how to use JavaScript to obtain HTTP status codes and provide some practical code examples. Using XMLHttpRequest

How to get HTTP status code in JavaScript the easy way How to get HTTP status code in JavaScript the easy way Jan 05, 2024 pm 01:37 PM

Introduction to the method of obtaining HTTP status code in JavaScript: In front-end development, we often need to deal with the interaction with the back-end interface, and HTTP status code is a very important part of it. Understanding and obtaining HTTP status codes helps us better handle the data returned by the interface. This article will introduce how to use JavaScript to obtain HTTP status codes and provide specific code examples. 1. What is HTTP status code? HTTP status code means that when the browser initiates a request to the server, the service

Vue.js vs. React: Project-Specific Considerations Vue.js vs. React: Project-Specific Considerations Apr 09, 2025 am 12:01 AM

Vue.js is suitable for small and medium-sized projects and fast iterations, while React is suitable for large and complex applications. 1) Vue.js is easy to use and is suitable for situations where the team is insufficient or the project scale is small. 2) React has a richer ecosystem and is suitable for projects with high performance and complex functional needs.

React's Role in HTML: Enhancing User Experience React's Role in HTML: Enhancing User Experience Apr 09, 2025 am 12:11 AM

React combines JSX and HTML to improve user experience. 1) JSX embeds HTML to make development more intuitive. 2) The virtual DOM mechanism optimizes performance and reduces DOM operations. 3) Component-based management UI to improve maintainability. 4) State management and event processing enhance interactivity.

How to implement an online electronic signature system using WebSocket and JavaScript How to implement an online electronic signature system using WebSocket and JavaScript Dec 18, 2023 pm 03:09 PM

Overview of how to use WebSocket and JavaScript to implement an online electronic signature system: With the advent of the digital age, electronic signatures are widely used in various industries to replace traditional paper signatures. As a full-duplex communication protocol, WebSocket can perform real-time two-way data transmission with the server. Combined with JavaScript, an online electronic signature system can be implemented. This article will introduce how to use WebSocket and JavaScript to develop a simple online

How to implement a real-time online voting system using JavaScript and WebSocket How to implement a real-time online voting system using JavaScript and WebSocket Dec 18, 2023 pm 04:27 PM

How to use JavaScript and WebSocket to implement a real-time online voting system Introduction: With the rapid development of the Internet, real-time online voting systems have become a very common form in various activities and elections. Using JavaScript and WebSocket technology to implement a real-time online voting system has the advantages of flexibility and ease of use. This article will introduce in detail how to use JavaScript and WebSocket to implement a simple real-time online voting system and provide the corresponding code

See all articles