下一步翻译是返回键



下一个翻译显示的是key而不是langcommon:menu.1.title common:read_more

i18n.js

module.exports = {
    locales: ['en', 'de', 'cs'],
    defaultLocale: 'en',
    redirectToDefaultLang: true,
    pages: {
        '*': ['common'],
        '/404': ['home'],
        '/': ['home'],
        '/about': ['about'],
    },
    interpolation: {
        prefix: '${',
        suffix: '}',
    },
    logger: true,
    logBuild: true,
    loadLocaleFrom: (locale, namespace) =>
        import(`./public/locales/${locale}/${namespace}`).then((m) => m.default),
}

这是我的下一个config.js

const nextTranslate = require('next-translate')
module.exports = nextTranslate()

_app.js

import I18nProvider from 'next-translate/I18nProvider';
class MyApp extends App {
    render () {
        const { Component, pageProps, store } = this.props
        return (
                <I18nProvider lang={'en'} >
                    <Component {...pageProps} />
                    <GoTop scrollStepInPx="50" delayInMs="16.66" />
                </I18nProvider>
            );
        }
    }

export default MyApp

并遵循HOC

import React, {Component} from "react";
import withTranslation from 'next-translate/withTranslation'
class NavBarLink extends Component {
    render() {
        const { t, lang } = this.props.i18n
        const description =  t('menu.1.title')
        const description2 =  t('read_more')
        return <p>{description + ' '+ description2}</p>
    }
}
export default withTranslation(NavBarLink, 'common')

返回值为common:menu.1.title common:read_more

有人能告诉我我的代码中缺少什么吗?

在下一个翻译的新版本中,不需要像这里所说的那样提供I18n提供程序。

但是,当您提供时,您应该提供您想要使用的所有名称空间。

你最好看看这个迁移指南。

最新更新