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刷新一下當前頁面。