https://medium.com/@danielsternlicht/adding-localization-i18n-g11n-to-a-react-native-project-with-rtl-support-223f39a8e6f2

https://www.jianshu.com/p/4dc5612854eb

可以用react-native-i18n

执行命令安装:

npm i react-native-i18n --save

在js目录下新建多语言文件,比如说需要支持英文和中文,那么就建两个文件en.js和zh.js

文件内容为:

en.js

export default {

welcome:{

welcome:"welcome to Beijing"

}

}

zh.js

export default {

welcome:{

welcome:"欢迎来到北京"

}

}

然后建一个国际化文件,比如叫 i18n.js

i18n.js

import I18n from 'react-native-i18n';

import en from './en';//en为en.js的路径

import zh from './zh';

I18n.defaultLocale = 'zh'; //设置默认的语言

I18n.fallback = true;        //设置

I18n.locale = 'zh';           //设置当前的语言

I18n.translations = {     //支持的语言列表

en,

zh

};

export function strings(name, params = {}) {//params默认为json类型

return I18n.t(name, params);

}

export function setLanguage(lan) {

I18n.locale = lan;

}

export default I18n;

然后在其他js文件中,如下引用:

import {strings,setLanguage} from './i18n';//i18n.js文件的位置

<Text>{strings('welcome.welcome')}<Text>//如果是中文输出就会是“欢迎来到北京”

在这里调用 setLanguage('en')就会切换语言到英文,不过在当前页面的话需要调用this.setState刷新一下当前页面。

React Native多语言的更多相关文章

  1. [转]React Native 语言基础之ES6

    React Native 是基于 React 这个前端框架来构建native app的架构.React Native基于ES6(即ECMAScript2015)语言进行开发的. JS的组成 1) 核心 ...

  2. windows 7下React Native环境配置

    React Native 是 Facebook 推出的一个用 Java 语言就能同时编写 ios,android,以及后台的一项技术,它可以做到实时热更新 .FaceBook 也号称这们技术是 “Le ...

  3. React Native:使用 JavaScript 构建原生应用

    [转载] 本篇为联合翻译,译者:寸志,范洪春,kmokidd,姜天意 数月前,Facebook 对外宣布了正在开发的 React Native 框架,这个框架允许你使用 JavaScript 开发原生 ...

  4. 配置React Native环境

    一. 安装Homebrew: “Homebrew installs the stuff you need that Apple didn’t.——Homebrew  OS X 更完整”. Homebr ...

  5. React Native Changed the World? or Nothing.

    RN是一个awesome的技术, facebook很有想法的团队创造出一项新的技术改变了native开发界. 但是RN本身又疑点重重, RN是为了解决什么问题而存在的? 在诞生了一年后, RN又解决了 ...

  6. 30天React Native从零到IOS/Android双平台发布总结

    前言 本人有近十年的技术背景,除了APP开发之外对后端.前端等都比较熟悉,近期做一个APP项目需要IOS.Android两个平台都需要,只能硬着头皮上.其实很早就想开发APP也很早就接触Android ...

  7. React Native开发入门

    目录: 一.前言 二.什么是React Native 三.开发环境搭建 四.预备知识 五.最简单的React Native小程序 六.总结 七.参考资料   一.前言 虽然只是简单的了解了一下Reac ...

  8. React Native 开发之 (01) 配置开发环境

    一 React Native React Native 是由Facebook发布的开源框架,着力于提高多平台开发的开发效率 —— 仅需学习一次,编写任何平台.(Learn once, write an ...

  9. React Native 学习-01

    React Native 学习 (学习版本 0.39) 一.环境配置 二.IDE选择 webstorm 1.webstorm配置 ①.首先是可以选择使用汉化包汉化.eu68 ②.安装插件和外部库. 由 ...

随机推荐

  1. jquery add() 和js add()

    HTML DOM add() 方法 HTML DOM Select 对象 定义和用法 add() 方法用于向 <select> 添加一个 <option> 元素. 语法 sel ...

  2. redis集群创建

    先参考文章 https://www.cnblogs.com/PatrickLiu/p/8458788.html https://blog.csdn.net/fengshizty/article/det ...

  3. 安装npm报错 npm cache clean --force 搞定

  4. Java 问题集

    1.命令行编译.java文件,找不到或者无法加载主类,需要配置完整的PATH,CLASSPATH环境变量,CLASSPATH最前面是 点+分号 PATH=%JAVA_HOME%\binCLASSPAT ...

  5. java 两个日期之间的天数

    private static int numDays(String start,String end){ Calendar startCal=Calendar.getInstance(); Strin ...

  6. Spring MVC 处理列表和数组数据

    SpringMVC处理列表和数组类型: 当form提交多个参数时,可以使用@RequestParam(value="")注解将其注入到列表或数组中,否则参数无法传值 1 contr ...

  7. 基于tcp的下载文件,以及struct模块的应用。

    一 基于TCP的下载 客户端: from socket import * import os def main(): tcp_socket = socket(AF_INET, SOCK_STREAM) ...

  8. Spring Boot 整合mybatis-generator

    Maven 引入 mybatis-generator插件 <build> <plugins> <plugin> <groupId>org.springf ...

  9. C# .NET ToList()分页

    ViewData.Model = Limodel.ToList().Skip((page - ) * ).Take().ToList(); //page 当前页,10:每页几条数据

  10. 【Selenium-WebDriver自学】Selenium-IDE测试创建(三)

    ==================================================================================================== ...