首页 > 解决方案 > 如何在带有数组的动态数据上使用 i18n?

问题描述

我想更改数组的语言,但我不知道如何处理 i18n 我已经更改了静态数据并且一切正常。

我需要翻译我的 element.nomClub

现在这是我要翻译的功能:

 renderMesClubs = () => {
    return this.state.sport.clubs
      .filter((choix) => {
        return choix.ligue == this.state.click;
      })
      .map((element) => {
        return (
          <View>
            <TouchableOpacity
              onPress={async () => {
                await AsyncStorage.setItem('ChoixClub', element.nomClub),
                  this.props.navigation.navigate('Subscribe');
              }}>
              <View
                style={{
                  justifyContent: 'center',
                  marginHorizontal: 20,
                }}>
                <Text
                  style={{
                    color: 'white',
                    marginTop: 30,
                    marginBottom: 30,
                    fontSize: 35,
                    textAlign: 'center',
                    fontFamily: 'Ambit-Black',
                  }}>
                  {element.nomClub}
                </Text> 
[...]

标签: react-nativereact-i18next

解决方案


您可以使用插值:

//in React component
/.../
  <Text>
    {t('myValue', {value: element.nomClub})}
  </Text>

//in .json
"myValue": "{value}"

文档中有更多关于插值的信息


推荐阅读