Файлы локали Next.js получают ошибку 404 из-за установки basePath?

Файлы локали получают 404 из-за добавления basePath,

Что я пробовал i18n.tsx

  const NextI18NextInstance = new NextI18Next({
  defaultLanguage: 'en',
  otherLanguages: ['de'],
  fallbackLng: 'en',
  localeSubpaths,
  localePath: path.resolve('./public/static/locales'),
})

Updated above code with basePath like below ,

  const NextI18NextInstance = new NextI18Next({
  defaultLanguage: 'en',
  otherLanguages: ['de'],
  fallbackLng: 'en',
  localeSubpaths,
  localePath: path.resolve('./<basepath>/public/static/locales'),
})

Но это вызывает внутреннюю ошибку сервера.


person Gopinath Kaliappan    schedule 30.11.2020    source источник
comment
вы настроили next.config.js   -  person Someone Special    schedule 30.11.2020
comment
Какую версию next js вы используете?   -  person Muljayan    schedule 30.11.2020
comment
next - последний next-i18next: 7.0.1, @SomeoneSpecial да настройка next.config.js завершена   -  person Gopinath Kaliappan    schedule 30.11.2020
comment
так что этот код находится внутри next.config.js, можешь показать нам свой next.config.js? и вам не нужно добавлять базовый путь к вашему пути локали, этот путь является абсолютным для ваших файлов. базовые пути виртуальные.   -  person Someone Special    schedule 30.11.2020
comment
или, возможно, используйте / public / ‹basepath› / static / locales - github.com/isaachinman/ next-i18next / issues / 860, потому что коды заменяют '/ public' на ''   -  person Someone Special    schedule 30.11.2020


Ответы (1)


Привет, ребята, исправили эту конфигурацию в i18n.tsx. Необходимо добавить бэкэнд в i18n.tsx.

  const NextI18NextInstance = new NextI18Next({
     backend: {
      loadPath: `https://${apiDomainName}/<basepath>/static/locales/{{lng}}/{{ns}}.json`,
     },
  })

apiDomainName может быть localhost: 3000 или www.your-webiste.com.

person Gopinath Kaliappan    schedule 11.12.2020