Internationalization 在页级组件上声明命名空间所需数组
我有一个基于next和react的项目,使用i18next软件包,我遇到了以下警告,我认为这就是react profiler需要大量时间加载i18n的原因: 您尚未在页面级别声明名称空间所需的数组 组件:带有I18NextTranslation(错误)。这将导致所有 要向下发送到客户端的名称空间,可能是负面的 影响应用程序的性能。有关详细信息,请参阅: 注意:翻译很好,我已经在我的所有组件中声明名称空间是静态的,除了404 这是我的i18n配置:Internationalization 在页级组件上声明命名空间所需数组,internationalization,next.js,i18next,react-i18next,next-i18next,Internationalization,Next.js,I18next,React I18next,Next I18next,我有一个基于next和react的项目,使用i18next软件包,我遇到了以下警告,我认为这就是react profiler需要大量时间加载i18n的原因: 您尚未在页面级别声明名称空间所需的数组 组件:带有I18NextTranslation(错误)。这将导致所有 要向下发送到客户端的名称空间,可能是负面的 影响应用程序的性能。有关详细信息,请参阅: 注意:翻译很好,我已经在我的所有组件中声明名称空间是静态的,除了404 这是我的i18n配置: const NextI18Next = req
const NextI18Next = require('next-i18next').default
const { localeSubpaths } = require('next/config').default().publicRuntimeConfig
const path = require('path');
module.exports = new NextI18Next({
preload: ['fa'],
defaultLanguage: 'fa',
otherLanguages: ['en','ar'],
localeSubpaths,
localePath: path.resolve('./public/static/locales'),
localeStructure: '{{lng}}/{{ns}}',
fallbackLng: 'fa',
ignoreRoutes:['/_next/', '/static/', '/public/', '/api/'],
serverLanguageDetection: false,
defaultNS: 'common',
localeExtension: 'json'
});
next.config.js:
const { nextI18NextRewrites } = require('next-i18next/rewrites');
rewrites: async () => nextI18NextRewrites(localeSubpaths),
publicRuntimeConfig: {
localeSubpaths
}
版本:
package.json:
"i18next": "^19.7.0"
纱线:
next-i18next@^6.0.2:
version "6.0.2"
dependencies:
"@types/express" "^4.16.1"
core-js "^3"
hoist-non-react-statics "^3.2.0"
i18next "^19.6.3"
i18next-browser-languagedetector "^5.0.0"
i18next-fs-backend "^1.0.7"
i18next-http-backend "^1.0.17"
i18next-http-middleware "^3.0.2"
path-match "^1.2.4"
prop-types "^15.6.2"
react-i18next "^11.7.0"
url "^0.11.0"
在我的server.js文件中没有与此相关的内容。对于那些好奇的人,我在其github存储库中发现了这个公开问题。