react 国际化
2022/4/2 23:49:36
本文主要是介绍react 国际化,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
使用插件: i18next
安装插件: npm install react-i18next i18next --sav
//App.js import React, { Component } from 'react' import './App.css' import i18n from 'i18next' import { useTranslation, initReactI18next } from 'react-i18next' import SiderDemo from './Navi/Navi' import { Radio } from 'antd' import cen from './locale/en' //这里的cen 就是 中文配置包,暴露出来的是一个对象 key:value 的形式 import czh from './locale/zh'//这里的czn 就是 英文配置包,暴露出来是一个对象 key:value 的形式 let lng = 'zh' i18n .use(initReactI18next) // passes i18n down to react-i18next .init({ resources: { en: { translation: { ...cen } }, zh: { translation: { ...czh } } }, lng: lng, fallbackLng: lng, interpolation: { escapeValue: false } }) function onChange(e) { if (e.target.value === 'english') { lng = 'en' i18n .use(initReactI18next) // passes i18n down to react-i18next .init({ resources: { en: { translation: { ...cen } }, zh: { translation: { ...czh } } }, lng: lng, fallbackLng: lng, interpolation: { escapeValue: false } }) } else { lng = 'zh' i18n .use(initReactI18next) // passes i18n down to react-i18next .init({ resources: { en: { translation: { ...cen } }, zh: { translation: { ...czh } } }, lng: lng, fallbackLng: lng, interpolation: { escapeValue: false } }) } } function App() { const { t } = useTranslation() window.$t = t //将 t 挂载在 window 上,以至于在其他组建调用时不需要再次引入 return ( <div> <SiderDemo> <div className="lng"> <Radio.Group onChange={onChange} defaultValue="chinese"> //当Radio 组件状态改变时,lng也得改变对应的 值 <Radio.Button value="chinese">中文</Radio.Button> <Radio.Button value="english">English</Radio.Button> </Radio.Group> </div> </SiderDemo> </div> ) } export default App //需要使用国际化的组件 //仅为示范例,并无逻辑 <Header style={{ background: '#000', padding: 0 }}> <span style={{ color: '#fff', paddingLeft: '2%', fontSize: '1.4em' }} ></span> <span style={{ color: '#fff', paddingLeft: '2%', fontSize: '1.4em' }} > {window.$t('cgg')} //这里就是调用国际化cgg 是配置文件里面的 key,展示的便是 key对应的value </span> <span style={{ color: '#fff', float: 'right', paddingRight: '1%' }} > <img src={logo} className="App-logo" alt="logo" /> </span> </Header>
这篇关于react 国际化的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-26React入门教程:从零开始搭建你的第一个React应用
- 2024-12-25Vue2入门教程:轻松掌握前端开发基础
- 2024-12-25Vue3入门指南:快速搭建你的第一个Vue3项目
- 2024-12-25JS基础知识入门教程
- 2024-12-25React基础知识详解:从入门到初级应用
- 2024-12-25Vue3基础知识详解与实战指南
- 2024-12-25Vue3学习:从入门到初步掌握
- 2024-12-25Vue3入门:新手必读的简单教程
- 2024-12-23【JS逆向百例】爱疯官网登录逆向分析
- 2024-12-21Vue3教程:新手入门到实践应用