首页 > 解决方案 > vuetify & nuxt:当前语言环境切换时如何切换 vuetify 组件语言环境?

问题描述

为了在语言环境之间切换,我制作了一个插件并在其中

// plugins/i18n

export default function({ app }) {
  app.i18n.onLanguageSwitched = (oldLocale, newLocale) => {
    console.log(oldLocale, newLocale)
    app.vuetify.lang.current = newLocale
    console.log(app)
  }
}

但是当我切换语言时,组件区域设置不会改变,我得到这个错误 在此处输入图像描述

这是 nuxt 配置

// nuxt config
import en from 'vuetify/src/locale/en.ts'
import de from 'vuetify/src/locale/de.ts'

  vuetify: {
    treeShake: true,
    customVariables: ['~/assets/styles/setting/_variables.scss'],
  
    lang: {
      locales: {
        de,
        en
      },
      current: 'de'
     
    },

},

当前语言环境更改时如何更改 vuetify 组件语言环境?

标签: internationalizationnuxt.jsvuetify.jsvue-i18n

解决方案


最后我找到了解决方案,我像这样改变了插件,它就可以了。

export default function({ app }) {

  app.vuetify.framework.lang.current =  app.i18n.locale
  app.i18n.onLanguageSwitched = (ـ, newLocale) => {
    app.vuetify.framework.lang.current = newLocale
  }
}

推荐阅读