0

每当我在应用程序中选择一种语言时,它都会将此参数保存在“lang”cookie 中,但在没有语言路径 ( http://localhost/en ) 的情况下访问根目录 ( http://localhost ) 时会加载默认语言” pt”,甚至是用另一种语言“en”或“es”设置的cookie。这个是正常的?或者这种情况有什么配置吗?

[
  'nuxt-i18n',
  {
    locales: [
      {
        code: 'en',
        file: 'en.js'
      },
      {
        code: 'es',
        file: 'es.js'
      },
      {
        code: 'pt',
        file: 'pt.js'
      }
    ],
    lazy: true,
    langDir: 'lang/',
    parsePages: false,
    strategy: 'prefix',
    defaultLocale: 'pt',
    rootRedirect: 'pt',
    detectBrowserLanguage: {
      useCookie: true,
      cookieDomain: null,
      cookieKey: 'lang',
      alwaysRedirect: false,
      fallbackLocale: 'pt'
    },
  }
]

方法更改语言:

changeLanguage(lang) {
        this.locale = lang
        this.$i18n.setLocale(lang)
        this.$moment.locale(lang);
    },
4

1 回答 1

0

我发现我需要将alwaysRedirect参数设置为true,它通过 cookie 强制重定向。

detectBrowserLanguage: {
  alwaysRedirect: true
},
于 2020-04-21T14:39:45.137 回答