I18n
,指的是internationalization
,也就是多國語系的意思。一般來說,好的 boilerplate 一定都會有多國語系的設置,而我們的也不例外。
在專案的一開始就引入多國語系是一件好事,這可以確保之後專案在擴展能更快。
我們使用 react-native-intl 來做我們的多國語系。而各國的 text,我們依照語言代碼,分裝在不同的資料夾裡。接著,在 /lib/i18n/index.js
import 就可以囉。
值得注意的是,ESLint 刻意避掉了各國的語言資料夾,這是因為我們使用 js import 進來。如果之後要轉成json 檔的話,只要改個檔名,改個內容,就可以 migrate 了。
這個 library 用起來也十分簡單,只要 call I18n.t('stringID') 就可以了。
我們把它包在 /lib/i18n
,想要使用 I18n string,這麼做就可以了:
import I18n from '../../lib/i18n'
const SimpleText = () => (
<Text>{I18n.t('SimpleText')}</Text>
)