React国际化——多语言切换

2023-10-26

1.安装react-intl-universal:npm install react-intl-universal --save

2.配置语言包,json文件根据需要支持几种语言决定(将新建的语言包json文件放置于项目根目录的./public/locales下):

         

 

 3.引入react-intl-universal:import intl from "react-intl-universal";

           引入axios:import axios from 'axios';

 4.核心代码:

  const SUPPOER_LOCALES = [
  {
    name: "中文",
    value: "zh-CN"
  },
  {
    name: "English",
    value: "en-US"
  },
];

class App extends React.Component {

state = {
    initDone: false,
    language: "zh-CN",
  }

  componentDidMount() {
    this.loadLocales(this.state.language);
  }
 loadLocales(val) {
    let currentLocale = val
    axios.get(`locales/${currentLocale}.json`)
      .then(res => {
        console.log("App locale data", res.data);
        // Init方法将根据当前的本地数据加载本地数据
        return intl.init({
          currentLocale,
          locales: {
            [currentLocale]: res.data
          }
        });
      })
      .then(() => {
        // 在加载locale数据后,开始呈现
        this.setState({ initDone: true });
      });
  }

}

        

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React国际化——多语言切换 的相关文章

  • 谈谈管理者绩效管理要点

    作者 李石 链接 https www zhihu com question 19626322 answer 29165823 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 在绩效管理中衡量一个管理者的绩效与

随机推荐

  • 2023-05-22 题目

    1 java的泛型 泛型是jdk 5 引入的 泛型就是 引用类型作为参数 本质就是参数化类型 1 类型擦除 java的泛型基本上都是在编译器这个层次来实现的 在生成的字节码文件中是不包含泛型类中的信息的 泛型参数在编译的时候被去掉的过程叫做
  • 关于安卓系统安全性的问题

    引言 很久以前有人声称使用安卓系统不安全 称其获取的用户权限过多 太过于暴露用户的隐私 很多人在贴下反讽 只是你不会使用权限管理而已 而实际上现在 很多安卓应用程序一旦禁用了某些权限就直接限制用户的使用 完全就是一种流氓姿态 限制权限已经不
  • 前端学习路线(2023)

    这个前端学习路线看起来很详细和全面 涵盖了从基础知识到高级框架 从单机开发到全栈项目 从混合应用到原生应用 从性能优化到架构设计的各个方面 如果你能够按照这个路线学习和实践 我相信你一定能够成为一名优秀的前端工程师 不过 我也要提醒你 这个
  • ModuleNotFoundError: No module named 'encodings'

    问题描述 Fatal Python error Py Initialize unable to load the file system codec ModuleNotFoundError No module named encodings
  • 三极管和MOS管的使用及区别

    1 三极管 单片机IO口输出高电平时 三极管导通 单片机IO口输出低电平时 三极管截止 1 三极管是电流控制型元件 三极管的BE之间可以理解为存在一个二极管的通路 当给B加高电平时 BE之间就会产生持续的电流 维持三极管打开的条件就是BE之
  • 101.对称二叉树

    给定一个二叉树 检查它是否是镜像对称的 例如 二叉树 1 2 2 3 4 4 3 是对称的 1 2 2 3 4 4 3 但是下面这个 1 2 2 null 3 null 3 则不是镜像对称的 1 2 2 3 3 方法1 根左右遍历一次树得到
  • 微信小程序个人简历界面(编辑版)

    微信小程序个人简历界面 可编辑修改 包含全部源码 1 微信小程序实现简单的个人简历界面 包含基本信息 教育背景 获奖证书 兴趣爱好等 简历信息支持修改编辑内容 2 通过此文章 希望能带给更多学习微信小程序的伙伴们一点点经验 示例简洁 布局简
  • Linux系统编程之pthread多线程与互斥编程

    Linux系统编程之pthread多线程与互斥编程 include
  • tcp三次握手、四次挥手

    原文 https www cnblogs com qq78292959 p 3922231 html https blog csdn net qq 38950316 article details 81087809 经典的四次握手关闭图 T
  • 几款常用压测工具介绍与使用

    现在市面上的压测工具数不胜数 挑几款常用的做个简单的介绍 1 Apache ab ab是apache自带的压力测试工具 使用起来非常方便 安装 1 ab运行需要依赖apr util包 安装命令为 yum install apr util 2
  • 腾讯云短信Java调用示例(SDK3.0)

    腾讯云短信Java调用示例 SDK3 0 1 pom xml 添加以下依赖 2 需要引入的包 3 程序实例 1 pom xml 添加以下依赖
  • IDEA控制台乱码问题 maven-javadoc-plugin

    接手老项目 上来就是编译报错 一看是控制台还打印一堆乱码 所以上来百度搜到一篇不错的文章DEA控制台乱码问题 原因 解决方式 解决不了算我输 一顿操作仍然无效 不过学会了不少 后来控制台报错中发现了 maven javadoc plugin
  • SpringAOP的5种增强类型应用讲解

    SpringAOP的5种增强类型应用讲解 一 前言 spring框架中为我们提供的增强包括针对切面的增强和针对切入点的增强 对一个方法的增强底层使用的是动态代理 所以在学习springAop增强之前大家有必要先了解一下动态代理相关内容 本文
  • linux系统配置文件

    1 etc sysconfig i18n 语言配置文件 2 etc sysconfig network scripts ifcfg eth0 eth0配置文件 3 boot grub grub conf grup配置文件 或 boot gr
  • 记一次线上BUG排查过程

    1 线上遇到一个非常奇怪的bug 为一个用户分配业务线类型后 该用户登录时 提示502 但其它的用户登录完全是正常的 2 问题现象 3 排查思路 先去看线上日志 看是否有error 但日志里边这个接口200正常返回 本地debug 也复现一
  • 快速入门ASP.NET Core

    本来这篇只是想简单介绍下ASP NET Core MVC项目的 毕竟要照顾到很多新手朋友 但是转念一想不如来点猛的 考虑到急性子的朋友 让你通过本文的学习就能快速的入门ASP NET Core 既然是快速入门所以过多过深的内容我这里就一笔带
  • mybatis调用oracle视图

    多数据源切换调用oralce里的某个视图 后台报错 表或视图不存在 select from table 最后在select 语句中加上前缀即可 select from zzzz table
  • SM4算法原理

    前面的文章介绍了SM4算法的C语言实现 源码可见文章 SM4国密对称算法源码解析 10点43的博客 CSDN博客 sm4代码 本文将会介绍SM4算法原理 这部分可能会比较枯燥 但数学要求也不是太高 目录 1 概述 2 参数产生 3 轮函数
  • 【EI检索】2022年第四届大数据、物联网与计算国际会议(ICBICC 2022)

    2022年第四届大数据 物联网与计算国际会议 ICBICC 2022 重要信息 会议网址 www icbicc org 会议时间 2022年11月11 13日 召开地点 中国北京 截稿时间 2022年10月11日 录用通知 投稿后2周内 收
  • React国际化——多语言切换

    1 安装react intl universal npm install react intl universal save 2 配置语言包 json文件根据需要支持几种语言决定 将新建的语言包json文件放置于项目根目录的 public