Nextjs - nexti18next 翻译不起作用

时间:2021-02-01 11:12:04

标签: javascript reactjs next.js translation multilingual

我需要将我们的应用程序从 create-react-app 转换为 Next.js,但我坚持使用 nextjs 的 nextI18next...

我的设置:

next.config.js:

const { nextI18NextRewrites } = require("next-i18next/rewrites");

const localeSubpaths = {
  en: "en",
  hu: "hu"
};

module.exports = {
  rewrites: async () => nextI18NextRewrites(localeSubpaths),
  publicRuntimeConfig: {
    localeSubpaths
  }
};

i18n.js


const NextI18Next = require("next-i18next").default;
const { localeSubpaths } = require("next/config").default().publicRuntimeConfig;
const path = require("path");

module.exports = new NextI18Next({
  otherLanguages: ["en", "hu"],
  defaultNS: "translate",
  localeSubpaths,
  localePath: path.resolve("./public/static/locales")
});


主页:


function HomePage({ initialData, t }) {
  const homePageData = { initialData }.initialData.homePageData;
  const events = { initialData }.initialData.events;
  return(<>{t("highlights")}</>)

HomePage.getInitialProps = async () => {
  const initialData = {};
  await registerTempUser();
  const homeData = await homePageData;
  const events = await eventList;
  initialData.homePageData = homeData.data;
  initialData.events = events.data;
  return { initialData: initialData, namespacesRequired: ["translate"] };
};

HomePage.propTypes = {
  t: PropTypes.func.isRequired
};

export default withTranslation("translate")(HomePage);

翻译文件位于: public/static/locales/hu 和 /en

translate.json //hu


translate
{
  "translations": {
     "details": "részletek"
  }
}

translate.json //en


translate
{
  "translations": {
     "details": "Details"
  }
}

我做错了什么?

0 个答案:

没有答案