React native 国际化方案
1.安装所需要的库
最开始我是去github找到了react-native-i18这个库,但发现官方文档声明已经过时了,于是就去找了其他的实现方案最终得到以下结果
- 安装i18next 以及 react-i18next
yarn add i18next react-i18next
安装完成,接下来编写相关代码
2.目录设计
我想我们需要简洁的目录结构,为了能够更好的维护
- src
- locales 国际化文件夹
- index.js 主要文件
- languages 语言包文件夹
- enUS.json 英文语言包
- zhCN.json 中文语言包
- locales 国际化文件夹
- App.js
3.开始开发
3.1 index.js
import i18n from 'i18next';
import {
initReactI18next } from 'react-i18next';
// 自編語言包
import en from './languages/enUS.json'
import zh from './languages/zhCN.json'
const resources = {
en: {
translation: en
},
zh: {
translation: zh
}
}
i18n
.use(initReactI18next)
.init({
compatibilityJSON: 'v3', // 对安卓进行兼容
resources,
fallb