React Native多語言


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM