我正在使用i18n进行语言翻译。我有一个ToggleSwitch可以更改内容的语言,效果很好。但是我想根据选择的用户配置文件语言来设置默认语言。
这是我正在使用的代码。
有帮助吗?
constructor(props) {
super(props)
this._retrieveData()
this.state = {
isOnBlueToggleSwitch: false
}
}
onToggle = (isOn) => {
I18n.locale = isOn ? "th" : "en"
}
_retrieveData = async () => {
try {
const value = await AsyncStorage.getItem('user');
if (value !== null) {
localLanguage = JSON.parse(value);
I18n.locale = localLanguage.lang;
}
} catch (error) {
console.log(error)
}
}
render() {
return (
<View style={styles.container}>
<ToggleSwitch
onColor="#52a557"
size='small'
isOn={this.state.isOnBlueToggleSwitch}
onToggle={isOnBlueToggleSwitch => {
this.setState({ isOnBlueToggleSwitch });
this.onToggle(isOnBlueToggleSwitch);
}}
/>
</View>
)
}
'use strict';
import I18n from 'react-native-i18n';
I18n.fallbacks = true;
// List of language
I18n.translations = {
'en': require('./en'), //for English
'th': require('./th'),
};
export default I18n;