0

我正在使用 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>
    )
}

i18n.js

'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;
4

0 回答 0