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

#reactjs #next.js #next-i18next

#reactjs #next.js #далее-i18next

Вопрос:

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

Что я пробовал 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'),
})
 

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

Комментарии:

1. вы настроили next.config.js

2. Какую версию next js вы используете?

3. следующая последняя версия «next-i18next»: «7.0.1», @SomeoneSpecial да next.config.js настройка выполнена

4. итак, этот код находится внутри next.config.js можете ли вы показать нам свой next.config.js ? и вам не нужно добавлять базовый путь к вашему локальному пути, этот путь является абсолютным для ваших файлов. базовые пути являются виртуальными.

5. или, может быть, использовать /public/<базовый путь>/static/locales — github.com/isaachinman/next-i18next/issues/860 потому что коды заменяют ‘/ public’ ‘на »

Ответ №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