Nuxt.js Язык i18n по умолчанию "Страница не найдена"

У меня проблема с приложением Nuxt.js.

Я установил nuxt-i18n 5.8.0 и сделал следующую конфигурацию в моем файле nuxt.config.js

[
  'nuxt-i18n',
  {
    locales: [
      {
        name: 'English',
        code: 'en',
        iso: 'en-US',
        file: 'en-US.js'
      },
      {
        name: 'Greek',
        code: 'el',
        iso: 'el-GR',
        file: 'el-GR.js'
      }
    ],
    lazy: true,
    langDir: 'lang/',
    defaultLocale: process.env.DEFAULT_LANG || 'en',
    baseUrl: process.env.BASE_URL,
    seo: false
  }
]

Когда я использую язык по умолчанию и нажимаю на ссылку на странице, возникает ошибка "Страница не найдена". Если я обновлю страницу, это работает.

Это происходит на каждой странице для каждой ссылки с языком по умолчанию.

Если я использую дополнительный язык, навигация работает нормально.

Любая помощь??

Thnx!!

3 ответа

добавьте эту строку в i18n в вашем nuxt.config.js

стратегия: 'prefix_and_default'

Установите fallbackLocale, как показано ниже:

// nuxt.config.js

{
  modules: [
    [
      'nuxt-i18n',
      {
        locales: ['en', 'es'],
        defaultLocale: 'en',
        vueI18n: {
          fallbackLocale: 'en',
          messages: {
            en: {
              greeting: 'Hello world!'
            },
            es: {
              greeting: '¡Hola mundo!'
            }
          }
        }
      }
    ]
  ]
}

Пожалуйста, прочтите ссылку ниже для получения дополнительной информации:

https://github.com/nuxt-community/i18n-module

У меня была такая же проблема, чтобы исправить это, добавив отключить определение языка браузера в:

  'nuxt-i18n',
  {
    ...
    detectBrowserLanguage: false
  }
Другие вопросы по тегам