私はおそらくアイデアがあなたを助けることができる状況に取り組んできました。
私はreact-native-i18n
(https://github.com/AlexanderZaytsev/react-native-i18n)を使用し、すべての私の翻訳を使用してファイルを作成しました。このような何か:
I18n.translations = {
en: {
helloWorld: 'Hello World!',
loginButton: 'Login',
}
}
その後、私が翻訳し、このようにそれを使用しなければならないテキストが含まれている私のコンポーネントでそれをインポート:
<View>
<Text>{I18n.t('helloWorld'}</Text>
</View>
私は私のデータベースに保存されているユーザーの言語を持っていると私それを取得し、ユーザーが私のアプリにログインするときに私の減速機で設定します。最初はI18n.currentLocale()
メソッドからラングゲを取得します。私のコンポーネントで
私は私の減速からユーザーの言語を取得し、国際化の設定でそれを設定します。 I18n.locale = this.props.language;
このコンポーネントは、ユーザーがその言語を選択することができますので、私はピッカーを持っています。私は
componentWillReceiveProps(nextProps) {
I18n.locale = nextProps.language;
}
はそれが
を役に立てば幸い減速だけでなく、自分のデータベースを更新するためのアクションをトリガーと
I18n.locale
値を更新する
componentWillReceiveProps()
ライフサイクルを使用します