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

相关文章

Python实现微信自动锁定工具

《Python实现微信自动锁定工具》在数字化办公时代,微信已成为职场沟通的重要工具,但临时离开时忘记锁屏可能导致敏感信息泄露,下面我们就来看看如何使用Python打造一个微信自动锁定工具吧... 目录引言:当微信隐私遇到自动化守护效果展示核心功能全景图技术亮点深度解析1. 无操作检测引擎2. 微信路径智能获

Java中的工具类命名方法

《Java中的工具类命名方法》:本文主要介绍Java中的工具类究竟如何命名,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java中的工具类究竟如何命名?先来几个例子几种命名方式的比较到底如何命名 ?总结Java中的工具类究竟如何命名?先来几个例子JD

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七