0

我想根据 2 种语言的翻译来呈现列表,一个是阿拉伯语列表,一个是英语列表,我该怎么做?

<i18n lang="json5">
en:{

},
ar:{
}
</i18n>

我想使用这些列表,例如

  englishNameList: [
      { name: '', id: 1 },
      { name: '', id: 2 },
      { name: '', id: 3 },
      { name: '', id: 4 },
      { name: '', id: 5 },
    ],

  arabicNameList: [
      { name: '', id: 1 },
      { name: '', id: 2 },
      { name: '', id: 3 },
      { name: '', id: 4 },
      { name: '', id: 5 },
    ],

我想将这些列表添加到 i18n json5 中,以便可以将其呈现为 v-autocomplete

 <v-autocomplete
            ref="selectedJob"
            v-model="selectedJob"
            :rules="[requiredRule]"
            :dense="$vuetify.breakpoint.mobile"
            outlined
            color="black"
            :items="englishNameList"
            item-text="name"
            item-value="id"
           
          >
      
          </v-autocomplete>

我想根据 i18n json5 的翻译将数据传递给:items?我该怎么做?

谢谢

4

1 回答 1

0

如果您想在 html 中使用 i18n,则取决于您的使用情况,您必须使用 {{ $t(the variable of string or 'translateable string') }} 。否则,如果您想在组件的 JS 端使用它,则必须使用 this.$t(字符串的变量或简单的“可翻译字符串”)。我假设从您的数据中,您的数组中的 Name 键可以翻译,您不需要为每个列表创建 2 个单独的列表。只需介绍 en 和 ar 中的名称即可。然后使用 $t 在语言环境之间进行更改。

于 2022-02-08T15:40:17.937 回答