Vue-i18n 设置语言环境

Vue-i18n setLocale

假设代码是:

<ul>
  <li v-for="(lang, i) in $i18n.availableLocales" :key="`Lang${i}`" :value="lang">
    <a href="#" @click="setLocale('what shall I write in here?')">
      <span> {{ lang.toUpperCase() }} </span>
    </a>
  </li>
 
</ul>

所以问题是('what shall I write in here?')

setLocale函数:

setLocale(locale) {
      this.$i18n.locale = locale;
      this.$router.push({
        params: { lang: locale },
      });
    },

我尝试使用 ${$i18n.availableLocales},但它会将语言环境更改为 IT, FR, EN(总而言之,这是所有可用的语言环境,完全有意义)。

我自己想不通。

谢谢!

您似乎只想像这样将其设置为 lang

@click="setLocale(lang)

然后您的 setLocale 函数将在正确的语言环境中传递给用户选择。