#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