react实现国际化

react实现国际化

静态国际化

首先解决静态国际化,即根据浏览器的语言,自动加载对应的语言模板。这里只需判断navigator.language类型即可,然后通过react-intl提供了IntlProvider组件,加载组件属性的locale和messages,最后在需要用到国际化的组件里,引入FormattedMessage组件(react-intl内置),通过id映射到对应的国际化文件里的属性(例如下面的en_US.js的hello)。即可实现静态国际化。

动态国际化

动态国际化,即用户可以通过按钮切换,实现语言的切换。最容易想到的方案就是,在语言模板放在redux的store里,提供一个切换语言的action,改变store里的国家和语言模板

实现思路

  1. 下载react-intl 下载到生产环境
  2. 在src下面设置文件夹language,里面放配置语言的文件
en-US文件

export default {
    'personage.personal_center': "personalCenter'",
    'personage.My_class': "MyClass",
    'personage.setting': 'Setting',
    'personage.log_out': 'logOut'
    
}

zh-CN 文件

export default {
    'personage.personal_
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值