i18next国际化(react)


 i18next官网库(https://react.i18next.com/)

安装命令  npm install react-i18next i18next --save
 

includes/i18n.js

import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import zh from '../locales/zh.json';
import en from '../locales/en.json';


const resources = {

    //对应的英文
  en,
  //对应的中文
  zh, 
};

i18n
  .use(initReactI18next) 
  .init({
    resources,
    // 默认语言改为中文
    lng: "zh", 
    //这个是一个中文切换到因英文如果切换错误会默认切换到中文
    fallbackLng: "zh",
    interpolation: {
      escapeValue: false 
    }
  });

  export default i18n;

locales/en.json

{
    
    "translation": {
     
      "Welcome to React": "Welcome to React ",
      "Learn React" : "Learn React"
    }
  }

zh.jaon

{
    "translation": {
    
      "Welcome to React": "欢迎使用 React",
      "Learn React" : "学习 React"
    }
}

app.js

import React,{useRef} from 'react'
import "./includes/i18n"
import { useTranslation } from 'react-i18next';
import {requestMsgApi} from "./api/message"

export default function App() {

  //获取当前组件实例
  const componentRef = useRef(null);
  // 在需要的地方获取组件实例
  const instance = componentRef.current;


  //就可以简单地插入我们的文本
  const { t, i18n } = useTranslation();

  //设置语言切换
  const changeLangage =()=>{
    //通过调用这个i18nchangeLanguage这样一个方法就可以简单的修改我们当前的语言

    i18n.changeLanguage(i18n.language === "en" ? "zh" : "en");

  }




  return (
    <div className='App'>
      <header className='App-header'>
       <h1>{t('Welcome to React')}</h1>

       <p>{t('Learn React')}</p>
    {/* i18n.language 可查看所在中文还是英文 */}
    {/* changeLangage 绑定点击事件 */}
       <button onClick={changeLangage}>{i18n.language}</button>

      </header>
     



    </div>
  )
}

相关推荐

  1. i18next国际化(react)

    2024-06-11 15:26:02       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-11 15:26:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-11 15:26:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-11 15:26:02       87 阅读
  4. Python语言-面向对象

    2024-06-11 15:26:02       96 阅读

热门阅读

  1. qt+ffmpeg实现视频转码功能(亲测好用)

    2024-06-11 15:26:02       33 阅读
  2. TensorFlow 的基本概念和使用场景

    2024-06-11 15:26:02       29 阅读
  3. 一些科学方法的总结

    2024-06-11 15:26:02       26 阅读
  4. 【Dify系列文章——Redis介绍】

    2024-06-11 15:26:02       26 阅读
  5. 设计与实现完整的余额充值系统

    2024-06-11 15:26:02       30 阅读
  6. Web前端开发学习内容:深入探索与全方位掌握

    2024-06-11 15:26:02       27 阅读
  7. C++算法——选择排序

    2024-06-11 15:26:02       28 阅读
  8. mysql数据聚合实例

    2024-06-11 15:26:02       31 阅读
  9. 用python海龟画图实现倒计时功能

    2024-06-11 15:26:02       32 阅读