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

相关文章

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示

C语言进阶(预处理命令详解)

《C语言进阶(预处理命令详解)》文章讲解了宏定义规范、头文件包含方式及条件编译应用,强调带参宏需加括号避免计算错误,头文件应声明函数原型以便主函数调用,条件编译通过宏定义控制代码编译,适用于测试与模块... 目录1.宏定义1.1不带参宏1.2带参宏2.头文件的包含2.1头文件中的内容2.2工程结构3.条件编

Go语言并发之通知退出机制的实现

《Go语言并发之通知退出机制的实现》本文主要介绍了Go语言并发之通知退出机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、通知退出机制1.1 进程/main函数退出1.2 通过channel退出1.3 通过cont

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

基于Python实现简易视频剪辑工具

《基于Python实现简易视频剪辑工具》这篇文章主要为大家详细介绍了如何用Python打造一个功能完备的简易视频剪辑工具,包括视频文件导入与格式转换,基础剪辑操作,音频处理等功能,感兴趣的小伙伴可以了... 目录一、技术选型与环境搭建二、核心功能模块实现1. 视频基础操作2. 音频处理3. 特效与转场三、高

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过