簡體   English   中英

當我在反應本機中更改語言時如何重新啟動應用程序

[英]How can i restart app when i change language in react native

我試圖創建一個用於更改語言的選擇器。 但是即使用戶選擇了不同的語言,有些文本仍然沒有被翻譯。 我試過了

import * as RNLocalize from 'react-native-localize';
import I18n from 'i18n-js';
import memoize from 'lodash.memoize'; 

import en from './en';
import am from './am';
import or from './or';
import tg from './tg';


const locales = RNLocalize.getLocales();
if (Array.isArray(locales)) {
  I18n.locale = locales[0].languageTag;
}

I18n.translations = {
  default: en,
  'en-US': en,
  en,
  am,
  or,
  tg,

};

I18n.fallbacks = true;
export default I18n;

我用來切換語言的代碼是

onChangeLanguage(languageSelected){
  this.setState({
    languageSelected
  })
  I18n.locale = languageSelected 
}

反應原生選擇器是:

<Picker
  mode="dropdown"
  iosHeader={''} 
  style={{ width: width,height:80,}}
  selectedValue={this.props.language}
  onValueChange={this.props.onChangeLanguage.bind(this)}
>
  {listLanguage.map((languageItem, i) => {
      return <Picker.Item key={i} value={languageItem.key} label= {languageItem.label} />
  })}
</Picker>

有沒有人告訴我如何在語言更改(選擇)時重新啟動應用程序? 謝謝

語言更改后無需重新啟動您的應用程序。 在 React 中,如果應用程序依賴於 state 或 props 更改,它會重新渲染。 你可以在這里查看我的答案: React Native, how to update view after language change

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM