1.react-native-i18n第三方多语言库 使用yarn:yarn add react-native-i18n; 使用npm:npm install react-native-i18n --save; 2.react-native link react-native-i18n 二、项目中使用 1.首先是新建英文版本的配置文件,en/index.js export default { home: { tab_home: 'Home', tab_demo: 'Demo', exit: ...
yarn add react-native-i18n 配置index.js import i18n from "react-native-i18n"; import en from "./en"; import zh from "./zh"; i18n.defaultLocale = "en"; i18n.fallbacks = true; i18n.translations = { en, zh, }; export { i18n }; 配置en.js export default { home: { title: "...
Toast.makeText(getReactApplicationContext(),"locales.get(i) "+locales.get(i),Toast.LENGTH_LONG).show(); 效果如下: 本想一探究竟内部的实现,结果是个不公开的类 总结: 首先Native那里获取本手机的LocaleList然后格式化取第一个元素交由I18n.js处理,然后I18n.js根据key选用一套有效的语言规则,再之后流程就...
1.react-native-i18n第三方多语言库 使用yarn:yarn add react-native-i18n; 使用npm:npm install react-native-i18n --save; 2.react-native link react-native-i18n 二、项目中使用 1.首先是新建英文版本的配置文件,en/index.js export default { home: { tab_home: 'Home', tab_demo: 'Demo', exit: ...
项目地址:https://github.com/AlexanderZaytsev/react-native-i18n 使用: 1.install (略,git里都写着了,就是npm那些事) 2.项目中使用 因为是一些静态属性引用,所以你用redux做储存替换也可以,直接做饮用也可以(本文拿en,zh为例)。 首先是建英文版本的配置文件,en/index.js ...
//app/i18n/locales/fr.js exportdefault{ greeting:'Bonjour!' }; //app/i18n/i18n.js importI18nfrom'react-native-i18n'; importenfrom'./locales/en'; importfrfrom'./locales/fr'; I18n.fallbacks=true; I18n.translations={ en, fr };
react-i18next 是 i18next 的一个插件,用来降低 react 的使用成本。 i18next-browser-languagedetector 是用来检测浏览器语言的插件。 创建i18n.js,具体的注释都在代码中。 import i18n from 'i18next'; import { initReactI18next } from 'react-i18next'; import LanguageDetector from 'i18next-browser-languaged...
一个app如果想要走向国际必须要支持多语言,ios和android都可以用原生做到,但react native就比较麻烦了,最初的想法是封装几个js文件输出每一个js封装一种语言输出,引用的时候用拼接路径,但当我替换掉app里面所有的词汇的时候,发现引用文件的路径并不能拼接,这就很尴尬了。后来找到一个组件react-native-i18n,完美解决...
// app/i18n/locales/en.js export default { greeting: 'Hi!' }; // app/i18n/locales/fr.js export default { greeting: 'Bonjour!' }; // app/i18n/i18n.js import I18n from 'react-native-i18n'; import en from './locales/en'; import fr from './locales/fr'; I18n.fallbacks = true...
// app/i18n/locales/en.js export default { greeting: 'Hi!' }; // app/i18n/locales/fr.js export default { greeting: 'Bonjour!' }; // app/i18n/i18n.js import I18n from 'react-native-i18n'; import en from './locales/en'; import fr from './locales/fr'; I18n.fallbacks = true...