iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 8
0

I18n

<好讀版>

前言

I18n,指的是internationalization,也就是多國語系的意思。一般來說,好的 boilerplate 一定都會有多國語系的設置,而我們的也不例外。

在專案的一開始就引入多國語系是一件好事,這可以確保之後專案在擴展能更快。

架構

  1. 建立多國語系

我們使用 react-native-intl 來做我們的多國語系。而各國的 text,我們依照語言代碼,分裝在不同的資料夾裡。接著,在 /lib/i18n/index.js import 就可以囉。

值得注意的是,ESLint 刻意避掉了各國的語言資料夾,這是因為我們使用 js import 進來。如果之後要轉成json 檔的話,只要改個檔名,改個內容,就可以 migrate 了。

  1. 使用多國語系

這個 library 用起來也十分簡單,只要 call I18n.t('stringID') 就可以了。

我們把它包在 /lib/i18n,想要使用 I18n string,這麼做就可以了:

import I18n from '../../lib/i18n'

const SimpleText = () => (
	<Text>{I18n.t('SimpleText')}</Text>
)

上一篇
Day7 / Infrastructure -- React Native Style
下一篇
Day9 / Infrastructure -- React Native Routing
系列文
從0到100打造一個React Native boilerplate30

尚未有邦友留言

立即登入留言