react-native-i18n 语言切换工具

2024-06-03 05:58

本文主要是介绍react-native-i18n 语言切换工具,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

yarn add react-native-i18n

Android

在./android/settings.gradle文件中添加下列代码:

include ':app', ':react-native-i18n'
project(':react-native-i18n').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-i18n/android')

在./android/app/build.gradle文件中加入下列代码:

dependencies {// ...compile project(':react-native-i18n')
}

在./android/app/src/main/java/your/bundle/MainApplication.java中添加如下代码::

import com.AlexanderZaytsev.RNI18n.RNI18nPackage; // <-- Add to ReactNativeI18n to the imports// ...@Override
protected List<ReactPackage> getPackages() {return Arrays.<ReactPackage>asList(new MainReactPackage(),// ...new RNI18nPackage(), // <-- Add it to the packages list);
}// ...
使用

创建一个关于语言的文件夹
创建多语言的js配置文件
路径

我这里写了两个 一个中文,一个英文

en.js:

/*** Created by 卓原 on 2018/6/28.**/
export default {home: {greeting: 'Greeting in en',tab_home: 'Home',tab_donate: 'Donate',tab_demo: 'Demo',language: 'language',live_demo: 'Live Demo',buy_me_coffee: 'Buy me a coffee',gitee: 'Gitee',star_me: 'Star me',donate: 'donate',exit: 'exit?',},greeting:'English'
}

zh.js

/*** Created by 卓原 on 2018/6/28.**/
export default {home: {greeting: 'Greeting in zh',tab_home: '首页',tab_donate: '捐赠',tab_demo: '例子',language: '语言',live_demo: '例子',buy_me_coffee: '请我一杯coffee',gitee: 'Gitee',star_me: '关注我',donate: '贡献',exit: '是否退出?',},greeting:'中文'
}

然后index.js:

/*** Created by 卓原 on 2018/6/28.**/
import I18n from 'react-native-i18n';import en from './en';
import zh from './zh';// Enable fallbacks if you want `en-US` and `en-GB` to fallback to `en`
I18n.fallbacks = true;//设置默认语言
I18n.defaultLocale = 'zh';I18n.translations = {en,zh
};export default I18n;

在项目中使用:

import I18n from '../language';
...<Text>{I18n.t('home.exit')}</Text>
...const I18nHome = I18n.t('home');
<Text>{I18nHome.exit}</Text>

这里会根据系统的语言来自动选择对应的语言文件,如果没有则使用默认的语言,我上面设置的默认语言问zh,即中文。

您可以使用getLanguages方法获取用户首选的语言环境

import { getLanguages } from 'react-native-i18n';getLanguages().then(languages => {console.log(languages); // ['en-US', 'en']
});

请注意,js的名字最好都是语言的缩写,下面提供参考:
语言缩写
想获取更多相关使用方式 请点击

这篇关于react-native-i18n 语言切换工具的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1026173

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

css渐变色背景|<gradient示例详解

《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型