-1

React Nativeを使用してアプリを作成しており、言い換えればアプリの言語を「オンザフライ」に変更する必要があります。私はここにサンプルをたどっています:https://github.com/appfoundry/react-native-multi-language-sample。これを実行した後、私はReduxとそれに付随するすべてのライブラリを正常にセットアップしました。Reactネイティブアプリでユーザーの好みに合わせて言語を変更する

私がいる問題は、私は、警告ポップアップないピッカーから自分の行動をトリガーしようとしていると私は実際にアクションを派遣問題を抱えているということです。

誰もが素晴らしいだろうアラートを使用して、ユーザーの言語を変更する方法私を見ることができます。

ありがとうございます!

答えて

0

私はおそらくアイデアがあなたを助けることができる状況に取り組んできました。

私はreact-native-i18nhttps://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()ライフサイクルを使用します
関連する問題